Skip to main content
 Web开发网 » 编程语言 » Python语言

如何通过网络爬虫获取网站数据?

这里以python为例,简单介绍一下如何通过python网络爬虫获取网站数据,主要分为静态网页数据的爬取和动态网页数据的爬取,实验环境win10+python3.6+pycharm5.0,主要内容如下:

静态网页数据这里的数据都嵌套在网页源码中,所以直接requests网页源码进行解析就行,下面我简单介绍一下,这里以爬取糗事百科上的数据为例:

1.首先,打开原网页,如下,这里假设要爬取的字段包括昵称、内容、好笑数和评论数:

如何通过网络爬虫获取网站数据?  Python网络爬虫 第1张

接着查看网页源码,如下,可以看的出来,所有的数据都嵌套在网页中:

如何通过网络爬虫获取网站数据?  Python网络爬虫 第2张

2.然后针对以上网页结构,我们就可以直接编写爬虫代码,解析网页并提取出我们需要的数据了,测试代码如下,非常简单,主要用到requests+BeautifulSoup组合,其中requests用于获取网页源码,BeautifulSoup用于解析网页提取数据:

如何通过网络爬虫获取网站数据?  Python网络爬虫 第3张

点击运行这个程序,效果如下,已经成功爬取了到我们需要的数据:

如何通过网络爬虫获取网站数据?  Python网络爬虫 第4张

动态网页数据这里的数据都没有在网页源码中(所以直接请求页面是获取不到任何数据的),大部分情况下都是存储在一个json文件中,只有在网页更新的时候,才会加载数据,下面我简单介绍一下这种方式,这里以爬取人人贷上面的数据为例:

1.首先,打开原网页,如下,这里假设要爬取的数据包括年利率,借款标题,期限,金额和进度:

如何通过网络爬虫获取网站数据?  Python网络爬虫 第5张

接着按F12调出开发者工具,依次点击“Network”->“XHR”,F5刷新页面,就可以找打动态加载的json文件,如下,也就是我们需要爬取的数据:

如何通过网络爬虫获取网站数据?  Python网络爬虫 第6张

2.然后就是根据这个json文件编写对应代码解析出我们需要的字段信息,测试代码如下,也非常简单,主要用到requests+json组合,其中requests用于请求json文件,json用于解析json文件提取数据:

如何通过网络爬虫获取网站数据?  Python网络爬虫 第7张

点击运行这个程序,效果如下,已经成功爬取到我们需要的数据:

如何通过网络爬虫获取网站数据?  Python网络爬虫 第8张

至此,我们就完成了利用python网络爬虫来获取网站数据。总的来说,整个过程非常简单,python内置了许多网络爬虫包和框架(scrapy等),可以快速获取网站数据,非常适合初学者学习和掌握,只要你有一定的爬虫基础,熟悉一下上面的流程和代码,很快就能掌握的,当然,你也可以使用现成的爬虫软件,像八爪鱼、后羿等也都可以,网上也有相关教程和资料,非常丰富,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。

评论列表暂无评论
发表评论
微信