解析豆瓣读书页面数据Python

本篇文章使用xpath解析豆瓣读书页面数据,首先我们需要在自己的pycharm里面安装好requests库和lxml,其次需要把服务器server的网址复制下来,然后开始爬取。具体代码如下所示。
import requests
from lxml import etree
filename= '豆瓣读书文学标签页-小说排行.txt'
server = 'https://book.douban.com/'
tag='tag/小说'
start='?start='
start_num=0
t='&type=T'
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 Edg/112.0.1722.48'
           }

print('开始爬取')
for pages in range(0,376):
    url=server+tag+start+str(start_num)+t
    start_num+=20

    r=requests.get(url,headers=headers)
    r.encoding='utf-8'
    html=r.text
    parsed_html = etree.HTML(html)   #解析:将内容传到里面去,进行解析
    r_list = parsed_html.xpath('//ul[@class="subject-list"]/li')  #解析完后的内容,进行调用

    for i in r_list:
        books={}
        books['书名']=i.xpath('.//div[@class="info"]/h2/a/text()')[0].strip()
        books['出版信息']=i.xpath('.//div[@class="info"]/div[@class="pub"]/text()')[0].strip()
        print(books)

        file=open(file=filename,mode='a',encoding="utf-8")
        file.write(books['书名']+'\n')
        file.write(books['出版信息'])
        file.write('\n\n')
        file.close()
print('爬取结束')

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

.凌航

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值