马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
import requests
from lxml import etree
url = "http://www.xinfadi.com.cn/priceDetail.html"
resp = requests.get(url)
tree = etree.HTML(resp.text)
table = tree.xpath("/html/body/div[2]/div/div/div/div[4]/div[1]/div/table/tbody")[0]
trs = table.xpath("./tr")
print(len(trs))
图片就是我查看元素的截图。
哪位大神帮忙看一下,
为啥我的运行结果是0呢?这是什么原因啊?
本帖最后由 阿奇_o 于 2021-8-29 11:57 编辑
哈哈,我昨晚查了些资料,原来是requests等库不能"动态加载",只能获取到原始的HTML,而Selenium等则可以动态加载,所见则可以获取到。。
然后呢,若要用requests来做,需要进行"Ajax分析"。。我之前根本不懂什么是Ajax,哈哈哈
今天起来再研究了一下,它用的是POST方法,你仔细看看它的xhr会发现请求表数据地址是固定的:http://www.xinfadi.com.cn/getPriceData.html
返回的是JSON,你解析一下就好了。
概括起来就是,关键要用 request.post(url='http://www.xinfadi.com.cn/getPriceData.html', data=data)
#data类似headers也是个字典,聪明的你会找到它具体是什么的~
|