爬虫--豆瓣读书TOP250书籍

  • 练手系列,直接上代码
import requests
import time
from lxml import etree

with open('C:\\Users\\HY\\Desktop\\book_douban.csv','w',encoding = 'utf-8') as f:
    for a in range(10):
        url = 'https://book.douban.com/top250?start={}'.format(a*25)
        data = requests.get(url).text
        s = etree.HTML(data)
        
        book = s.xpath('//*[@id="content"]/div/div[1]/div/table')
        time.sleep(3)
        for div in book:
            title = div.xpath('./tr/td[2]/div[1]/a/@title')[0]
            href = div.xpath('./tr/td[2]/div[1]/a/@href')[0]
            score = div.xpath('./tr/td[2]/div[2]/span[2]/text()')[0]
            num = div.xpath('./tr/td[2]/div[2]/span[3]/text()')[0].strip("(").strip().strip(")")
            scribe = div.xpath('./tr/td[2]/p[2]/span/text()')
                    
            if len(scribe) > 0:
                f.write('{},{},{},{},{}\n'.format(title,href,score,num,scribe[0]))
                
            else:
                f.write('{},{},{},{}\n'.format(title,href,score,num))
  • 输出情况如图(数据过多,截取部分)


    TOP250图书信息.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,807评论 25 709
  • 今天来花个30分钟画个小头像~ 先YY一下自己的Q版模样,一个短头发爱穿长衣服的小姑娘。可以尽发挥想象,加个兔耳朵...
    小杏仁阅读 3,826评论 5 10
  • 很多道理很对,很多知识很好,我都知道啊,可是,就是做不到。 因为,知道是没有力量的,相信并且做到才有力量。 听了很...
    语馨_f389阅读 3,892评论 1 0
  • 李宗盛《山丘》 自从当了奶爸后,就很没有静静的听一首儿歌以外的歌了。今天在驾车途中听见收音机里正在放李宗盛...
    Limber007阅读 2,934评论 1 3
  • 今天夜里2点到6点我在坐火车,然后7点10分到住处,沉睡了一个小时,后面就没有睡了,直接去加班。上午很困,先睡会儿...
    郭青耀阅读 656评论 0 0