ul_list返回空值
来源:2-10 爬取1号店的数据

翻版郭富城
2019-02-25
格式和符号全都是英文书写,但是ul_list返回的是0
代码如下:
from lxml import html
import requests
def spider(sn):
""“爬取1号店的图书数据”""
url = ‘http://search.yhd.com/c0-0/k{0}/’.format(sn)
#获取html
html_doc = requests.get(url).text
#获取xpath
selector = html.fromstring(html_doc)
#获取书的列表
ul_list = selector.xpath('//div[@itemSearchList]/div')
print(len(ul_list))
if name == “main”:
spider(“9787115428028”)
写回答
3回答
-
David璐_senior_DBA
2019-04-26
# author: David # -*- coding:utf-8 -*- import requests from lxml import html def spider(isbn): """ 爬取1号店的图书信息 """ url = 'https://search.yhd.com/c0-0/k{0}/'.format(isbn) # 获取 html 源码 html_doc = requests.get(url).text # 获取 xpath 对象 selector = html.fromstring(html_doc) # 找到书籍列表 ul_list = selector.xpath('//div[@id="itemSearchList"]/div') print(len(ul_list)) # 解析内容 for li in ul_list: # 获取标题 title = li.xpath('div/p/a[@class="mainTitle"]/text()') if not title: title1 = li.xpath('div//p/a[@pmid="0"]/text()') print("商品标题:", title1[1].strip()) else: print("商品标题:", title[1].strip()) # 获取链接 link = li.xpath('div/p/a[@class="mainTitle"]/@href') if not link: link1 = li.xpath('div//p/a[@pmid="0"]/@href') print("商品链接:", link1[0].replace('//', 'http://')) else: print("商品链接:", link[0].replace('//', 'http://')) # 获取价格 price = li.xpath('div/p/em[@class="num"]/text()') print("商品价格:", price[1].strip()) # 获取店铺 store = li.xpath('div/p/a/span[@class="shop_text"]/text()') print(" 店铺名:", store[0]) # 我是分割线 print('--------------------------') if __name__ == '__main__': isbn = 9787115478818 spider(isbn)
10 -
NavCat
2019-02-26
你这代码有很多语法都不对啊,注意不要用中文的引号,要使用英文半角的。
132019-04-26 -
NavCat
2019-02-26
爬虫规则如下:
00
相似问题