python网页数据抓取(浅浅谈谈如如何何使使用用python抓抓取取网网页页中的动动态态数)
优采云 发布时间: 2021-10-08 20:18python网页数据抓取(浅浅谈谈如如何何使使用用python抓抓取取网网页页中的动动态态数)
下面简单说一下如何使用python抓取网页中的动态和动态数据。根据实际的实现,我们经常会发现网页中的很多数据并不是用HT ML硬编码的,而是通过js动态加载的。所以也引出了动态数据的概念。这里的动态数据是指网页中Javascript动态生成的页面内容,是页面加载到浏览器后动态生成的,以前没有。在编写爬虫抓取网页数据的时候,经常会遇到这种需要动态加载数据的HT ML网页。如果还是直接从网页爬取,将无法获取任何数据。今天我们就简单讲讲如何使用python抓取页面中JS动态加载的数据。给定一个网页:豆瓣电影排行榜,里面的所有电影信息都是动态加载的。我们无法直接从页面中获取每部电影的信息。如下图,我们在HT ML中找不到对应的电影信息。在 Chrome 浏览器中,点击 F12 打开网络中的 XHR。我们抓取对应的js文件进行分析。如下图: 将豆瓣页面往下拉,加载更多电影信息到页面中,以便我们抓取相应的消息。我们可以看到它使用了一个 JA X 异步请求。A JA X 通过后台与服务器的少量数据交换,可以使网页异步更新。我们在 HT ML 中找不到相应的电影信息。在 Chrome 浏览器中,点击 F12 打开网络中的 XHR。我们抓取对应的js文件进行分析。如下图: 将豆瓣页面往下拉,加载更多电影信息到页面中,以便我们抓取相应的消息。我们可以看到它使用了一个 JA X 异步请求。A JA X 通过后台与服务器的少量数据交换,可以使网页异步更新。我们在 HT ML 中找不到相应的电影信息。在 Chrome 浏览器中,点击 F12 打开网络中的 XHR。我们抓取对应的js文件进行分析。如下图: 将豆瓣页面往下拉,加载更多电影信息到页面中,以便我们抓取相应的消息。我们可以看到它使用了一个 JA X 异步请求。A JA X 通过后台与服务器的少量数据交换,可以使网页异步更新。我们可以看到它使用了一个 JA X 异步请求。A JA X 通过后台与服务器的少量数据交换,可以使网页异步更新。我们可以看到它使用了一个 JA X 异步请求。A JA X 通过后台与服务器的少量数据交换,可以使网页异步更新。
因此,可以在不重新加载整个网页的情况下更新网页的某个部分,从而实现数据的动态加载。我们可以看到,通过GET,我们得到的响应中收录了对应的电影相关信息,以JSON格式保存在一起。查看RequestURL信息,可以发现action参数后面跟着两个参数“start”和“limit”。显然他们的意思是:“从某个位置返回的电影数量”。如果你想快速获取相关电影信息,可以直接把这个网址复制到地址栏,修改你需要的start和limit参数值,得到相应的抓取结果。但这不是很自动,很多其他的 网站 RequestURLs 没有那么简单,所以我们将使用python进行进一步的操作来获取返回的消息信息。#coding:utf-8import urllibimport requestspost_param = {'action':'','start':'0','limit':'1'}return_data = requests get("豆瓣com/j/chart/top_list?type= 11&interval_id=100%3A90",data =post_param, verify = False)print return_data text 因为豆瓣是https,这里需要注意一下。将 verify 设置为 False 表示不需要验证 SSL 证书。,data =post_param, verify = False)print return_data text 因为豆瓣是https,这里需要注意一下。将 verify 设置为 False 表示不需要验证 SSL 证书。,data =post_param, verify = False)print return_data text 因为豆瓣是https,这里需要注意一下。将 verify 设置为 False 表示不需要验证 SSL 证书。
我们可以发现打印出来的结果就是对应的JSON文件。下一步解析和操作这里不再赘述。[{"rating":["9.6","50"],"rank":1,"cover_url":"https:\/view\/movie_poster_cover\/mpst\/public\/p 48074749 2.j pg","is_playable":true,"id":"1292052","types":["crime","plot"],"regions":["United States"],"title " :"肖申克的救赎","url":"ht tps:\/\/\/subject\/ 1292052\/","release_date":"1994-09-10","actor_count":15,"vote_count ":713205,"score":"9.6","actors":["Tim Robbins","Morgan Freeman","