博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spider
阅读量:4983 次
发布时间:2019-06-12

本文共 1221 字,大约阅读时间需要 4 分钟。

#

from lxml import etreeimport requestsimport csvfp = open('./douban.csv','w+',encoding='utf-8',newline='')writer = csv.writer(fp)writer. writerow(('name','url','author','publisher','date','price','rate','comment'))  #写头部urls = ['https://book.douban.com/top250?start={}'.format(num) for num in range(0,250,25)]headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Safari/537.36'}for url in urls: page = requests.get(url,headers).text tree = etree.HTML(page) infos = tree.xpath('//tr[@class="item"]') for info in infos: name = info.xpath('td/div/a/@title')[0] url = info.xpath('td/div/a/@href')[0] book_infos = info.xpath('//td/p/text()')[0] author = book_infos.split('/')[0] pub = book_infos.split('/')[-3] date = book_infos.split('/')[-2] price = book_infos.split('/')[-1] rate = info.xpath('td/div/span[2]/text()')[0] comments = info.xpath('td/p/span/text()') comment = comments[0] if len(comments) != 0 else '空' writer.writerow((name,url,author,pub,date,price,rate,comment))fp.close()
豆瓣书籍top250 csv文件

 

转载于:https://www.cnblogs.com/zhangchen-sx/p/11295690.html

你可能感兴趣的文章
C#中的变量声明
查看>>
iframe中跨域页面访问parent的方法
查看>>
curl实现多路并发请求(请求数量大时再次分割实现循环处理)
查看>>
调查问卷心得体会
查看>>
Linux文件3个时间点(access time,modify time,change time)
查看>>
深谈德国车和日本车的区别--觉得分析的还算冷静客观
查看>>
C#命名空间
查看>>
poj1655Multiplication Puzzle
查看>>
WinDebug 常用命令表【摘】
查看>>
LVS _keepalived 配置
查看>>
Django之ORM基础
查看>>
JS监听浏览器关闭事件
查看>>
[Log]ASP.NET之HttpModule 事件执行顺序
查看>>
明天回老家看我儿子了!
查看>>
hdu2089(数位dp模版)
查看>>
JS 获取浏览器和屏幕宽高信息
查看>>
TCP/UDP 协议,和 HTTP、FTP、SMTP,区别及应用场景
查看>>
我的大学生活
查看>>
php SPL四种常用的数据结构
查看>>
计算tableview的高度
查看>>