请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,我爬取京东数据显示不出来,请帮我看看。谢谢

import requests
from lxml import html

def spider_id(sn):
    """ 爬取京东商城的图书信息 """
    url = 'https://search.jd.com/Search?keyword={0}'.format(sn)
    #获取HTML信息
    html_data = requests.get(url).text
    #获取xpath对象
    selector = html.fromstring(html_data)
    #寻找书本列表
    ul_list = selector.xpath('//div[@id="J_goodsList"]/ul/li')
    print(len(ul_list))

if __name__ == '__main__':
    sn = '9787115428028'
    spider_id(sn)

正在回答 回答被采纳积分+3

插入代码

1回答

NavCat 2019-11-06 20:12:45

京东添加了反爬机制,在请求头中添加User-Agent即可,参考代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import requests
from lxml import html
 
def spider_id(sn):
    """ 爬取京东商城的图书信息 """
    url = 'https://search.jd.com/Search?keyword={0}'.format(sn)
 
    headers = {
        'User-Agent''Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'
    }
    #获取HTML信息
    html_data = requests.get(url, headers=headers).text
    # print(html_data)
    #获取xpath对象
    selector = html.fromstring(html_data)
    #寻找书本列表
    ul_list = selector.xpath('//div[@id="J_goodsList"]/ul/li')
    print(len(ul_list))
 
if __name__ == '__main__':
    sn = '9787115428028'
    spider_id(sn)


2 回复 有任何疑惑可以回复我~
  • 提问者 在高原的阿北 #1
    谢谢老师
    回复 有任何疑惑可以回复我~ 2019-11-06 20:23:47
  • 老师又不行了、
    回复 有任何疑惑可以回复我~ 2020-01-03 22:48:18
  • NavCat 回复 慕沐2093547 #3
    我刚刚试了下是可以的哦,同学你遇到的是什么问题,贴下代码和错误截图,老师好帮你排查
    回复 有任何疑惑可以回复我~ 2020-01-07 14:32:54
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号