早期的网站都是静态网页,有些静态网页非常容易爬取,新手可以去尝试下。爬虫怎么爬取静态网页?下面跟小编一起去了解下。
在实际工作中,难免会遇到从网页爬取数据信息的需求,如:从官网上爬取最新发布的系统版本。很明显这是个网页爬虫的工作,所谓网页爬虫,就是需要模拟浏览器,向网络服务器发送请求以便将网络资源从网络流中读取出来,保存到本地,并对这些信息做些简单提取,将我们要的信息分离提取出来。
黑洞代理换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 爬虫怎么爬取静态网页的案例分析
早期的网站都是静态网页,有些静态网页非常容易爬取,新手可以去尝试下。爬虫怎么爬取静态网页?下面跟小编一起去了解下。在实际工作中,难免会遇到从网页爬取数据信息的需求,如:从官网上爬取最新发布的系统版本。很明显这是个网页爬虫的工作,所谓网页爬虫,就是需要模拟浏览器,向网络服务器发送请求以便将网络资源从网络流中读取出来,... [阅读全文]
最新标签
推荐阅读
07
2018-12
云计算龙头Nutanix与浪潮携手共建多云端市场
12月6日,北京——企业云计算领导者Nutanix与全球领先的计算方案提供商浪潮达成合作协议,为广大用户提供基于浪潮服务器和Nutanix企业云操作系统的大型多云端架构。
15
2019-01
动态VPS的动态与静态内存有什么区别?
动态拨号VPS是一种可以在里实现拨号上网的VPS,它的最大的特征就是每拨号一次,IP会随机改变。动态拨号VPS有动态和静态内存之分,下面跟着黑洞代理小编来看看动态VPS的动态与静态内存有什
28
2019-05
为什么高匿http代理ip受欢迎?
虽然说电商事业发展的越来越快,但是在整个电商大行业下,还是分有很多类的。近几年兴起的电商和传统的淘宝行业还是不同的。因为淘宝处在一个被动的位置,不需要淘宝大肆宣传也会有客
07
2018-11
ip地址不够用怎么办?ip地址的扩展方法
ip地址资源稀缺,许多家庭使用的是动态ip,通常办公区域都是用局域网,255台电脑内都不用担心ip地址不够用,但如果超过了,ip地址不够用怎么办?黑洞代理跟大家分享下ip地址的扩展方法。
热门文章
公众号
关注公众号,免费领试用