2019-06-28 爬豆瓣新书速递
2019-06-28 本文已影响0人
年画儿
#爬豆瓣新书速递
import requests
from lxml import html
def spider():
""" 爬取douban的数据 """
url = 'https://book.douban.com/latest'
# 获取html内容
html_data = requests.get(url).text
# xpath对象
selector = html.fromstring(html_data)
# 找到书本列表
ul_list = selector.xpath('//div[@class="article"]/ul/li')
book_list = []
print(len(ul_list))
for li in ul_list:
# 标题
title = li.xpath('div/h2/a/text()')
print(title[0].strip() )
# 评分
link = li.xpath('div/p/span[@class="font-small color-lightgray"]/text()')
print(link[0].strip() )
# 作者 出版社 出版时间
price = li.xpath('div/p[@class="color-gray"]/text()')
print(price[0].strip() )
# 简介
store = li.xpath('div/p[@class="detail"]/text()')
print(store[0].strip() )
print('-----------------------')
book_list.append({
'title': title[0].strip(),
'price': price[0].strip(),
'link': link[0].strip(),
'store': store[0].strip()
})
ul_list2 = selector.xpath('//div[@class="aside"]/ul/li')
# print(len(ul_list2))
for li in ul_list2:
# 标题
title = li.xpath('div/h2/a/text()')
print(title[0].strip() )
# 评分
link = li.xpath('div/p/span[@class="font-small color-lightgray"]/text()')
print(link[0].strip())
# 作者 出版社 出版时间
price = li.xpath('div/p[@class="color-gray"]/text()')
print(price[0].strip())
# 简介
store = li.xpath('div/p/text()')
print(store[-1].strip())
print('-----------------------')
if __name__ == '__main__':
spider()