抓取ajax动态网页java(什么是ajax呢,简单来说,就是加载一个网页完毕)
优采云 发布时间: 2021-09-20 02:03抓取ajax动态网页java(什么是ajax呢,简单来说,就是加载一个网页完毕)
什么是Ajax?简而言之,在加载网页后,您仍然无法看到一些信息。您需要单击一个按钮来查看数据,或者某些网页有大量页面数据。单击下一页时,网页的URL和地址不会更改,但内容会更改。这些可以说是Ajax。如果你还不明白,让我给你看一下百度百科全书的解释。给你
Ajax,即“异步JavaScript和XML”,是指一种用于创建交互式web应用程序的web开发技术
Ajax=异步JavaScript和XML(标准公共标记语言的子集)
AJAX是一种创建快速动态网页的技术
AJAX是一种可以更新某些网页而不必重新加载整个网页的技术。[
Ajax可以通过在后台与服务器交换少量数据来异步更新web页面,这意味着可以在不重新加载整个web页面的情况下更新web页面的一部分
如果需要更新内容,传统网页(没有Ajax)必须重新加载整个网页
下面是一个例子。我捕获的最难的Ajax网页是对网易云音乐的评论。如果您感兴趣,可以使用Python对网易云音乐进行爬网,并将数据存储在MySQL中
这里的评论是由Ajax加载的,而今天的头条新闻中的其他评论也是由Ajax加载的,但我已经简化了它。还有很多,所以我不想说。让我们谈谈我今天想说的ajax网站来吧
这是肯德基的前沿信息
这里有很多页面的数据,每个页面的数据都是通过Ajax加载的。如果您直接使用Python请求上面的URL,估计您无法获得任何数据。如果您不相信,您可以尝试ha。此时,我们像往常一样打开开发工具。首先清除所有请求,检查连续日志,然后单击下一页,您将看到
上面的请求是Ajax请求的web页面,它将收录我们需要的数据。让我们看看它是什么类型的请求
这是一个post请求。请求成功状态代码为200。还有请求URL。以下来自数据的数据是我们需要发布的数据。很容易猜测PageIndex是页数,因此我们可以将此值更改为翻页
对这个网页的分析已经完成。这是如何解决Ajax动态网页的问题。你认为它很简单吗?事实上不是。只是因为这个网页的形式(来自数据)相对简单数据没有加密。如果是加密的,估计你可以找到JS文件来查看参数是如何加密的。这是我之前写的网易云音乐评论的爬行。看着这些混乱的JS来寻找加密方法有时会让你头疼,所以人们经常选择selenium来爬行,但使用的是e将降低爬虫程序的性能,因此,这种方法在工作中是不允许的,因此您必须学习如何处理这些Ajax
邮政编码
import requests<br />page = 1<br />while True:<br /> url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=cname'<br /> data = {<br /> 'cname': '广州',<br /> 'pid': '',<br /> 'pageIndex': page,<br /> 'pageSize': '10'<br /> }<br /> response = requests.post(url, data=data)<br /> print(response.json())<br /> if response.json().get('Table1', ''):<br /> page += 1<br /> else:<br /> break复制代码
可以看出,不需要从数据中删除,就可以在不需要十行代码的情况下从所有数据中爬下来,所以这个网站适合实践,您可以试试
写在末尾
接下来文章我将写下复杂的Ajax请求,这个网站
我不知道有多少人想看。如果你想看,请赞美它!或者你可以先自己试试