豆瓣读书笔记

豆瓣读书笔记
导包requests,selenium
def main():
1路由
2请求头
3for循环分页
4返回响应
5测试打印响应.text
6创建一个dirver
driver=webdriver.PhantomJS()
7请求头
8等待
time.sleep(2) 速度太快需要休眠
9获取页面源代码 html_str=driver.page_sounce
10返回页面return
11返回响应4注释掉旧方法换成
html_str=get_xpath_selenium(路由 %s,头=头)
12测试打印页面
13导包 from lxm l import etree
tree=etree.HTML(html_str)
F12点进去的名字
14获取名字列表页html_str=tree.xpath(路径)
15测试打印
16 for div in 获取列表页 一个一个拉出来遍历
17 书名
name=div.xpath(路径)
18测试打印书名 出现很多空
def get_text(text):
if text:
return text[0]
return ‘’ 特意封装方法不为空返回空
19评分
路径
20切分
infos=info.split(’/)
if infos[0]!=’’:如果不为空
作者
author=infos[0]
出版社
publish=info[-3]
出版日期
date=infos[-2]
价格
price=infos[-1]
详情页链接
打印作者及出版社等
接下来处理逻辑都在if中
详情页链接就是书名的路径 书名路径是个a标签
detail_url=get_text(div.xpath(路径))
测试打印详情页链接
item={}
item[‘name’]=name
item[‘字段名’]=字段名
测试打印item
将infos添加至item
books.append(item)
再写个写入方法
def write_to_excel(infos):
创建一个work
work_book=xlwt.Workbook(encoding=‘utf-8’)
创建一个表单
sheet=work_book.add_sheet(‘表单名称’)
设置表头
head=[]
for i in infos[0].keys():
head.append(i)
写表头
for i in range(len(head)):

   sheet.write(0,i,head[i]) 第一个参数行数0,列数i,内容[i]
   写内容
   i=1
   for item in infos:
    for j in range(len(head)):列
	 sheet.write(i,j,item[head[j]])
    i+=1
 保存
 work_book.save('传入的名字')
 传入名字
 打印写入成功 提示
 在写入函数中传入参数名字

if name==‘main’:
写入方法
导包 import xlwt
books=[]
main()
write_to_excel(books,‘传入名字’)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值