您的位置: 首页 > 新闻资讯 > 正文

爬虫怎么爬取静态网页的案例分析

发布时间:2019-02-18 15:53:26 来源:互联网

早期的网站都是静态网页,有些静态网页非常容易爬取,新手可以去尝试下。爬虫怎么爬取静态网页?下面跟小编一起去了解下。

在实际工作中,难免会遇到从网页爬取数据信息的需求,如:从官网上爬取最新发布的系统版本。很明显这是个网页爬虫的工作,所谓网页爬虫,就是需要模拟浏览器,向网络服务器发送请求以便将网络资源从网络流中读取出来,保存到本地,并对这些信息做些简单提取,将我们要的信息分离提取出来。

黑洞代理换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 爬虫怎么爬取静态网页的案例分析

早期的网站都是静态网页,有些静态网页非常容易爬取,新手可以去尝试下。爬虫怎么爬取静态网页?下面跟小编一起去了解下。在实际工作中,难免会遇到从网页爬取数据信息的需求,如:从官网上爬取最新发布的系统版本。很明显这是个网页爬虫的工作,所谓网页爬虫,就是需要模拟浏览器,向网络服务器发送请求以便将网络资源从网络流中读取出来,... [阅读全文]

最新标签