动态网页抓取(动态抓取在开始动态网页之前吗,我们还需要了解 )
优采云 发布时间: 2022-04-01 09:26动态网页抓取(动态抓取在开始动态网页之前吗,我们还需要了解
)
动态爬取
在开始爬取动态网页之前,我们还需要了解一个更新的技术——AJAX(Asynchronous Javascript And XML)。它的价值在于可以通过在后台与服务器交换少量数据来异步更新网页。这意味着可以在不重新加载整个页面的情况下更新页面的某些部分。一方面减少了网页重复内容的下载,另一方面节省了流量,因此得到了广泛的应用。
如果使用AJAX加载动态网页,如何抓取里面动态加载的内容?有两种方法:
(1)通过浏览器检查元素解析地址
(2) 模拟浏览器通过 selenium 爬行
#使用selenium打开浏览器和一个网页
from selenium import webdriver
driver=webdriver.Firefox()
driver.get("http://www.dianping.com/search/category/7/10/p1")
使用 json 库
从 json 数据中提取注释,上面的结果相当混乱。其实这些都是json数据。我们可以使用 json 库来解析数据并从中提取所需的数据。
import json
json_data=json.loads(r.text) #使用jison.loads把字符串格式得响应体数据转化为json数据。
comment_list=json_data['data']['comments'] #利用接送数据得 结构提取评论的列表comment_list
for eachone in comment_list: #最后用for循环提取其中得评论文本
message=comment_list[eachone]['content']
print(message)