qq:800819103
在线客服,实时响应qq群
在线客服,实时响应客服电话
13318873961早期的网站都是静态网页,有些静态网页非常容易爬取,新手可以去尝试下。爬虫怎么爬取静态网页?下面跟小编一起去了解下。
在实际工作中,难免会遇到从网页爬取数据信息的需求,如:从官网上爬取最新发布的系统版本。很明显这是个网页爬虫的工作,所谓网页爬虫,就是需要模拟浏览器,向网络服务器发送请求以便将网络资源从网络流中读取出来,保存到本地,并对这些信息做些简单提取,将我们要的信息分离提取出来。
黑洞代理换ip软件的工程师表示,在做网页爬虫工作时会发现并不是所有网站都是一样,比如有些网址就是一个静态页面、有些需要登录后才能获取到关键信息等等。此外,python简单而又强大,又有不少第三方库可以让我们轻松拿到浏览器中所看到的内容。
比如,BeautifulSoup库,它可以轻松的找出我们需要的信息,当然,有时候借助正则表达式会更快地帮助我们抽取网页中我们需要的信息。
首先我们导入我们所需要的requests和bs4模块,然后向目标url发出get请求获取首页的html文档。具体如下:
import requests
from bs4 import BeautifulSoup
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36'
}
url = 'https://voice.hupu.com/nba' # 虎扑nba新闻
res = requests.get(url, headers=headers)
我们的目的是提取新闻的标题和来源,所以下一步需要对新闻首页的DOM结构进行分析。给出新闻首页的截图如下:
画红线的部分就是我们要爬取的信息,下面通过chrome控制台对DOM结构进行分析。结果如下图:
本着从特殊到一般的思路进行搜索,通过一个新闻信息进行分析,找出所有新闻的共性。通过分析发现,我们需要的标题信息是一个a标签对应的内容,然后我们需要向上进行搜索,可见标题信息的上一级是一个h4标签,h4标签的上一级是一个class属性值为list-hd的div标签,这个div的上一级是一个li标签。用通过同样的思路对来源信息进行分析,我们发现,新闻标题信息和新闻来源信息都在一个li标签下面,进一步可以发现,其他的新闻信息都在这类li标签下,这些li标签都在class属性值为news-list的div标签下,而且整片文档中,class属性值为news-list的div标签也只有这一个。
因此,我们可以从这个div入手,找到这个标签下的每一个li标签,对每一个li标签进行遍历,每一个li标签下有唯一的h4标签,该标签的文本即为我们要找的标题信息;另外,每一个li标签下也仅仅有一个class属性值为comeFrom的span标签,该span标签下的a标签对应的文本就是来源信息。分析结束之后,我们就可以通过bs4进行信息提取了。代码如下:
爬取结果如下图:
以上进行了爬虫怎么爬取静态网页的案例分析,仅供参考。
相关文章内容简介
1 爬虫怎么爬取静态网页的案例分析
早期的网站都是静态网页,有些静态网页非常容易爬取,新手可以去尝试下。爬虫怎么爬取静态网页?下面跟小编一起去了解下。在实际工作中,难免会遇到从网页爬取数据信息的需求,如:从官网上爬取最新发布的系统版本。很明显这是个网页爬虫的工作,所谓网页爬虫,就是需要模拟浏览器,向网络服务器发送请求以便将网络资源从网络流中读取出来,... [阅读全文]
最新标签
推荐阅读
24
2019-04
如何更换IP?
在很多的网络营销以及市场营销的工作中,可能不断地点击或是投票,更或是某些需要不断点入操作的工作需要处理,为的就是增加虚拟的人气。但是不得不说的一点就是,在进行这些工作的途
19
2019-01
黑洞代理教您dns解析失败怎么解决?
不知道大伙儿可有碰到过DNS解析包错误的问题,通常有时候我们上网会碰到网页无法打开的情况,有时提示信息是DNS错误,其最大系统故障症状就是访问站点的对应ip地址都没有问题,但访问其
03
2019-06
代理IP可以帮助微博涨粉吗?
随着微博的发展,接连发展的微博经济和粉丝经济让越来越多的人受到了启发,于是越来越多的人开始致力于新媒体运营,虽然说从确定标签,到吸引粉丝,到最后开始获益这是一个听起来非常
09
2019-03
玩游戏时可以设置Socks5代理吗?
我们在设置HTTP代理时,有时候也会遇到Socks5代理,这两个代理有什么区别?使用方法有什么不同呢?比如,我们玩游戏时可以设置Socks5代理吗?
热门文章