python正则爬取豆瓣书单排行

一直看到正则就怕

import requests
import re

# 豆瓣书单排行
url = 'https://book.douban.com/chart'
# 假装自己是浏览器
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.119 Safari/537.36'
}
# 向url发起请求
response = requests.get(url,headers = headers)
# 保存好正则格式,方便多次调用,re.S就是忽略换行符
pattern = re.compile('<h2.*?fleft.*?/">(.*?)</a>.*?color-red fleft">(.*?)</span>',re.S)
# 找到响应体里面所有与pattern匹配的内容,结果是存在列表里的一个个元组
result = re.findall(pattern,response.text)
print('书名\t','评分')
for item in result:
    print(item[0]+'\t'+item[1])

输出:

书名	 评分
罗曼诺夫皇朝	8.7
国王的两个身体	9.3
思想史	8.6
我们生活的故事	8.9
事实改变之后	8.7
原则	8.6
活下去的理由	8.3
基因传	8.9
简单统计学	8.5
高难度对话:如何与挑剔的人愉快相处	8.1


常用正则列表:

\w   匹配字母数字及下划线

\W  匹配非字母数字下划线

\s     匹配任意空白字符,等价于 [\t\n\r\f].

\S    匹配任意非空字符

\d    匹配任意数字,等价于 [0-9]

\D   匹配任意非数字

\A   匹配字符串开始

\Z    匹配字符串结束,如果是存在换行,只匹配到换行前的结束字符串

\z    匹配字符串结束

\G   匹配最后匹配完成的位置

\n    匹配一个换行符

\t     匹配一个制表符

^     匹配字符串的开头

$     匹配字符串的末尾。

.      匹配任意字符,除了换行符,当re.DOTALL标记被指定时,则可以匹配包括换行符的任意字符。

[...]  用来表示一组字符,单独列出:[amk] 匹配 'a''m''k'

[^...]       不在[]中的字符:[^abc] 匹配除了a,b,c之外的字符。

*     匹配0个或多个的表达式,贪婪的

+     匹配1个或多个的表达式。

?     匹配0个或1由前面的正则表达式定义的片段,非贪婪方式

{n} 精确匹配n个前面表达式。

{n,m}   匹配 n m 次由前面的正则表达式定义的片段,贪婪方式

a|b   匹配ab

( )    匹配括号内的表达式,也表示一个组

解锁网络数据的宝藏:Python爬虫工具与教程集合 一、探索网络信息的无限宝藏 在互联网的海洋中,蕴藏着海量的有价值信息。如何合法、高效地获取这些信息?Python爬虫工具与教程为您揭开这一神秘面纱。通过这些资源,您可以轻松地爬取网站信息,提取所需内容,为各种应用场景提供强大的数据支持。 二、资源亮点 工具齐全:提供一系列功能强大的Python爬虫工具,满足您不同场景下的需求。 教程详尽:配套的Python爬虫教程,从基础到进阶,让您逐步掌握爬虫的核心技术。 合法合规:严格遵守法律法规和网站使用协议,确保采集行为合法,尊重网站权益。 实战项目:结合实际案例,让您在实践中掌握Python爬虫的运用,真正做到学以致用。 三、适用人群 无论您是数据分析师、网络开发者还是对Python爬虫感兴趣的爱好者,这些资源都将为您的学习和实践提供有力的支持。 四、使用建议 按需选择工具与教程:根据实际需求选择合适的工具和教程,确保学习与实践的有效性。 遵守法律法规与协议:在使用这些资源进行爬取活动时,务必遵守相关法律法规和网站的使用协议。 持续学习与更新:随着网络技术的不断进步,Python爬虫技术也在不断发展。建议您持续关注相关动态,提升自己的技能水平。 五、安全与责任 尊重网站权益:避免对目标网站的正常运行造成干扰或损害,合理使用资源。 隐私保护:在采集数据时,严格遵守隐私保护法规,不泄露或滥用用户个人信息。 风险防范:了解并应对潜在的网络威胁,采取相应措施降低风险。 感谢您选择我们的Python爬虫工具与教程集合!让我们一起挖掘网络信息的宝藏,为您的工作和研究注入新的活力!请务必遵守法律法规和网站使用协议,共同维护网络数据的合法采集与利用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值