请问老师为何我的这段代码得不到书的列表 得出的是空值
来源:2-9 爬取京东网的数据

DC超
2018-12-10
import requests
from lxml import html
def spider(sn):
""“爬取京东的图书数据”""
url = ‘https://search.jd.com/Search?keyword=sn’.format(sn)
#html文档
resp = requests.get(url)
print(resp.encoding)
resp.encoding = 'utf-8’
html_doc = requests.get(url).text
#获取xpath对象
selector = html.fromstring(html_doc)
#找到列表的集合
ul_list = selector.xpath('//div[@id="J_goodsList"]/ul/li')
print(len(ul_list))
#解析对应的内容,标题,价格,购买链接
for li in ul_list:
#标题
title = li.xpath('div/div[@class="p-name"]/a/@title')
print(title)
if name == ‘main’:
spider(‘9787115428028’)
老师我这段代码为啥得不到数据
写回答
1回答
-
NavCat
2018-12-12
你的代码里面有很多错误啊,应该都执行不起来吧。
要注意代码中的引号一律使用英文半角的
要注意代码的缩进要一致,推荐4个空格
要注意字符串格式化语句的写法
url = 'https://search.jd.com/Search?keyword={0}'.format(sn)
4.注意入口函数的写法
if __name__ == '__main__': spider('9787115428028')
修改后的代码:
import requests from lxml import html def spider(sn): """爬取京东的图书数据""" url = 'https://search.jd.com/Search?keyword={0}'.format(sn) #html文档 resp = requests.get(url) print(resp.encoding) resp.encoding = 'utf8' # html_doc = requests.get(url).text html_doc = resp.text #获取xpath对象 selector = html.fromstring(html_doc) #找到列表的集合 ul_list = selector.xpath('//div[@id="J_goodsList"]/ul/li') print(len(ul_list)) #解析对应的内容,标题,价格,购买链接 for li in ul_list: #标题 title = li.xpath('div/div[@class="p-name"]/a/@title') print(title) if __name__ == '__main__': spider('9787115428028')
022018-12-27
相似问题