网页数据抓取怎么写( 小编来一起如何用python来抓取页面中的数据? )

优采云 发布时间: 2021-09-18 14:03

  网页数据抓取怎么写(

小编来一起如何用python来抓取页面中的数据?

)

  如何使用Python捕获网页中的动态数据

  saitlas于2020年8月17日11:08:10更新

  本文文章主要介绍如何使用Python捕获网页中的动态数据。通过实例代码详细介绍,对大家的学习和工作有一定的参考和学习价值。有需要的朋友,让我们和小编一起学习

  我们经常发现网页中的许多数据不是用HTML编写的,而是通过JS动态加载的。因此,它引出了动态数据的概念。这里,动态数据指的是JavaScript在web页面中动态生成的页面内容,它是在页面加载到浏览器后动态生成的,而不是在加载之前

  在编写爬虫程序获取网页数据时,我们经常会遇到这种需要动态加载数据的HTML网页。如果我们仍然直接从网页上获取数据,我们将无法获得任何数据

  今天,让我们讨论如何使用Python获取页面中动态加载的JS数据

  给出一个网页:豆瓣电影排行榜,其中所有电影信息都是动态加载的。我们无法直接从该页面获取有关每部电影的信息

  如下图所示,我们无法在HTML中找到相应的电影信息

  

  

  在Chrome浏览器中,单击F12在网络中打开XHR。让我们抓取相应的JS文件进行解析。如下图所示:

  

  向下拖动豆瓣页面以加载更多电影信息,这样我们就可以抓取相应的消息

  我们可以看到,它使用Ajax异步请求。Ajax可以通过在后台与服务器交换少量数据来实现web页面的异步更新。因此,可以在不重新加载整个网页的情况下更新部分网页,从而实现数据的动态加载

  

  我们可以看到,通过get,我们得到的响应收录相应的电影相关信息,这些信息以JSON格式保存在一起

  

  查看requesturl信息,我们可以发现action参数后面跟着两个参数“start”和“limit”。显然,它们的意思是“从某个位置返回的电影数量”

  如果想快速获取相关电影信息,可以直接将URL复制到地址栏中,修改所需的start和limit参数值,并获得相应的抓取结果

  但是,这不是自动的,而且许多其他网站请求URL也不是直接给出的,因此我们使用Python进一步操作以获取返回的消息信息

  

#coding:utf-8

import urllib

import requests

post_param = {'action':'','start':'0','limit':'1'}

return_data = requests.get("https://movie.douban.com/j/chart/top_list?type=11&interval_id=100%3A90",data =post_param, verify = False)

print return_data.text

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线