老师,爬取京东数据,打印出来的都是【】是什么原因啊

来源:2-9 爬取京东网的数据

qq_逝爱终成伤_0

2021-04-14

def jd_book():
#获取京东html信息
url = ‘http://search.jd.com/Search?keyword=python入门&enc=utf-8&wq=python入门&pvid=c22f7a0681084b07b4b7cbfe33026ac6
kv = {‘user-agent’:‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36’}
resp = requests.get(url,headers = kv)
resp.encoding = ‘utf-8’
jd = resp.text
#获取xpath对象
selector = html.fromstring(jd)
ul_list = selector.xpath(’//div[@id = “J_goodsList”]/ul/li’)
print(len(ul_list))

for li in ul_list:
    book_name = li.xpath('div/div[class="p-name"]/strong/a/@href')
    print(book_name)

if name == ‘main’:
jd_book()

写回答

1回答

NavCat

2021-04-15

可能是京东网站升级了,HTML结构发生了变化,导致我们写的规则无法获取到对应的值

0
2
NavCat
回复
EdwardBBQ
我已经更新了代码,你需要重新拉一下代码
2022-01-15
共2条回复

手把手教你把Python应用到实际开发 不再空谈语法

学会项目开发思路,掌握Python高阶用法。

1341 学习 · 244 问题

查看课程