scrapy框架怎么爬取动态网页 用Python写爬虫,用什么方式、框架比较好?
用Python写爬虫,用什么方式、框架比较好?
之前我只写了一个非常简单的Python爬虫,直接用内置库实现。有没有人用Python爬过大规模数据,用什么方法爬过?
还有,使用现有的Python爬虫框架相比直接使用内置库有什么优势?因为Python本身写爬虫就很简单。
如何通过网络爬虫获取网站数据?
以python为例,简要介绍如何通过python网络爬虫获取网站数据,主要分为静态网页数据抓取和页数据抓取。实验环境为win10 python3.6 pycharm5.0,主要内容如下:
静态网页数据这里的数据是嵌入在网页源代码中的,所以它 可以直接请求网页源代码进行解析。下面我简单介绍一下。这里以爬取糗事百科上的数据为例:
1.首先,打开原始网页,如下。假设这里要抓取的字段包括昵称、内容、段子数和评论数:
然后看网页的源代码,如下,可以看到,所有的数据都嵌套在网页中:
2.然后根据上面的网页结构,我们可以直接编写爬虫代码,解析网页,提取我们需要的数据。测试代码如下,非常简单,主要使用requests BeautifulSoup的组合,其中requests用于获取网页源代码,BeautifulSoup用于解析网页并提取数据:
点击运行这个程序,效果如下,我们需要的数据已经爬取成功:
页数据这里的数据都不在网页的源代码中(所以你可以 不要通过直接请求页面来获取任何数据)。大多数情况下,它存储在一个json文件中,只有当网页更新时,数据才会被加载。我简单介绍一下这个方法。这里以抓取人人贷上的数据为例:
1.首先,打开原始网页,如下。假设这里要爬取的数据包括年利率、贷款标题、期限、金额、进度:
然后按F12调出开发者工具,点击 "网络 "-gt "xhr "接下来,F5刷新页面,您可以找到并键入动态加载的json文件,这是我们需要抓取的数据:
2.然后根据这个json文件写相应的代码来分析我们需要的字段信息。测试代码如下,也很简单,主要使用requests json的组合,其中requests用于请求json文件,json用于分析json文件提取数据:
点击运行这个程序,效果如下,我们需要的数据已经爬取成功:
至此,我们已经完成了使用python网络爬虫获取网站数据。总的来说,整个过程很简单。python有很多网络爬虫包和框架(scrapy等。)内置,可以快速获取网站。数据,非常适合初学者学习和掌握,只要你有一定的爬虫基础,熟悉上面的流程和代码,很快就能掌握。当然也可以用现成的爬虫软件,比如章鱼、后羿等。网上也有相关教程和资料,非常丰富。有兴趣的可以搜一下。希望以上分享的内容能对你有所帮助,欢迎大家评论。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。