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()
上一篇下一篇

猜你喜欢

热点阅读