|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 jjxx2005 于 2020-7-13 12:48 编辑
- import requests
- from lxml import etree
- UA = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.92 Safari/537.36'}
- url2 = 'http://www.jkl.com.cn/cn/shopLis.aspx?id=865'
- for i in range(1, 4):
- data = {'__EVENTARGUMENT':i}
- text1 = requests.get(url=url2, params=data,headers=UA).text
- tree1 = etree.HTML(text1)
- myname = tree1.xpath('//span[@class="con01"]/text()')
- print(myname)
复制代码
我用
for i in range(1, 4):
data = {'__EVENTARGUMENT':i}
获取的永远都是第1页
网页上有下一页 有什么简单又智能的方法让他自动查找下一页吗?
网页点击的数据包有分析吗?你这问题就是因为少了提交的参数
提交方式是POST
总共提交了4个参数
其中__VIEWSTATE和__VIEWSTATEGENERATOR这参数的值就在网页源码中,但经过分析只需提交__EVENTTARGET和__EVENTARGUMENT这两个参数就能正常获取信息。
- import requests
- from lxml import etree
- UA = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.92 Safari/537.36'}
- url2 = 'http://www.jkl.com.cn/cn/shopLis.aspx?id=865'
- for i in range(1, 4):
- data = {
- '__EVENTARGUMENT':i,
- '__EVENTTARGET':'AspNetPager1'
- }
- text1 = requests.post(url=url2, data=data, headers=UA).text
- tree1 = etree.HTML(text1)
- myname = [x.strip() for x in tree1.xpath('//span[@class="con01"]/text()')]
- print(myname)
复制代码
|
|