对于有的网页,我们滑动滚轮或者点击下一页,我们发现网址url没有发生变化,我们称这些网页为动态网页。
因此,我们需要F12 开发者工具,选中Network--XHR 不断滑动滚轮或者点击下一页,我们就会发现网页中的内容就隐藏在XHR 里面。
但要注意网页的请求方式是GET 还是POST 。
GET和POST是不一样的, GET的数据在请求链接中是可以直接看见的。我们可以在浏览器中输入内容所在的链接,是有内容返回的,而POST则不能。
下面以今日头条图片网页和美团外卖评论网页作为对比进行分析。
注意:
所有的url 都是XHR 下的链接,去掉多余的参数。
今日头条图片
美团外卖评论
如果是GET 请求:
则需要利用from urllib.parse import urlencode 构造完整的请求url。
如果是POST 请求:
美团外卖
则不需要构造完整请求url,但需要通过POST 传入参数。注意,有时需要将传入的parameters参数转为字符串,借助json.dumps() 。因为在Python中,没有json类型的数据,实质上json数据是字符串。
华为商城
因为提交的数据是字符串,所以我们需要借助json.dumps() ,将字典dict类型数据转换为字符串,因此需要对这数据类型进行判断。
下图是华为商城评论页面网址所要提交的数据:
|