如何用python抓取网页特定内容?
用urllib2读取通过httpsphp获得网页源代码抓取网页内容的几种方法?
1.使用file_get_contents获取网页源代码。这种方法是最常用的,只需要两行代码,非常简单方便。
2.使用fopen获取网页源代码。这个方法也有很多人用,但是代码有点多。
3.使用curl获取网页源代码。使用curl获取网页源代码,经常被需要更高要求的人使用。比如需要抓取网页内容时,需要获取网页的头部信息,以及编码和USERAGENT的使用。所谓web代码是指一些特殊的
以python为例,简要介绍如何通过python网络爬虫获取网站数据,主要分为静态网页数据抓取和页数据抓取。实验环境为win10python3.6pycharm5.0,主要内容如下:
静态网页数据这里的数据是嵌入在网页源代码中的,所以它可以直接请求网页源代码进行解析。下面我简单介绍一下。这里以爬取糗事百科上的数据为例:
1.首先,打开原始网页,如下。假设这里要抓取的字段包括昵称、内容、段子数和评论数:
然后看网页的源代码,如下,可以看到,所有的数据都嵌套在网页中:
2.然后根据上面的网页结构,我们可以直接编写爬虫代码,解析网页,提取我们需要的数据。测试代码如下,非常简单,主要使用了requestsBeautifulSoup的组合,其中requests用于获取网页的源代码,BeautifulSoup用于解析从网页中提取的数据:
点击运行这个程序,效果如下,我们需要的数据已经爬取成功:
页数据这里的数据都不在网页的源代码中(所以你可以不要通过直接请求页面来获取任何数据)。大多数情况下,它存储在一个json文件中,只有当网页更新时,数据才会被加载。我简单介绍一下这个方法。这里以抓取人人贷上的数据为例:
1.首先,打开原始网页,如下。假设这里要爬取的数据包括年利率、贷款标题、期限、金额、进度:
然后按F12调出开发者工具,点击"网络"-gt"XHR"接下来,F5刷新页面,您可以找到并键入动态加载的jso。n文件,如下,也就是我们需要抓取的数据:
2.然后根据这个json文件写相应的代码来分析我们需要的字段信息。测试代码如下,也很简单,主要使用requestsjson的组合,其中requests用于请求json文件,json用于分析json文件提取数据:
点击运行这个程序,效果如下,我们需要的数据已经爬取成功:
至此,我们已经完成了使用python网络爬虫获取网站数据。总的来说,整个过程很简单。python内置了很多网络爬虫包和框架(scrapy等。),可以快速获取网站数据。非常适合初学者学习掌握。只要你有一定的爬虫基础,熟悉以上流程和代码,就能很快掌握。当然也可以用现成的爬虫软件,比如章鱼、后羿,网上也有相关教程和资料。