Python中怎么利用正则抓取数据
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,Python中怎么利用正则抓取数据,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1、正则表达式基础(1)一般字符(2)预定义字符集(
千家信息网最后更新 2025年01月31日Python中怎么利用正则抓取数据
Python中怎么利用正则抓取数据,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
1、正则表达式基础
(1)一般字符
(2)预定义字符集
(3)数量词
(4)边界匹配
备注:最常用的一种匹配方式(.*?)代表匹配任意字符
2、re模块使用方法
re模块使得Python拥有全部的正则表达式功能。
常用函数1:search()函数匹配并提取第一个符合规律的内容,返回一个正则表达对象
常用函数2:findall()函数匹配所有符合规律的内容,并以列表的形式返回结果
备注:一般在爬取数据时候还是以findall使用居多
re模块修饰符
3、案例实践
案例名称:爬取《斗破苍穹》全文小说
网络链接:http://www.doupoxs.com/doupocangqiong/
爬取思路:
(1)打开网页,了解网页URL信息,通过打开第一章和第二章发现链接如下
http://www.doupoxs.com/doupocangqiong/1.html
http://www.doupoxs.com/doupocangqiong/2.html
http://www.doupoxs.com/doupocangqiong/3.html
明显链接通过数字递加来对每一章节进行分页。
(2)爬取全文信息,查找对应的位置如下
(3)数据存储到TXT文本中
4、详细代码如下:
import requests
import re
import time
headers={
"User-Agent":请求头}
f=open('doupo.txt','a+')
def get_info(url):
res=requests.get(url,headers=headers)
if res.status_code==200:
contents = re.findall('
(.*?)
',res.content.decode('utf-8'),re.S)
for content in contents:
f.write(content+'\n')
print(content)
else:
pass
if __name__=='__main__':
urls=['http://www.doupoxs.com/doupocangqiong/{}.html'.format(i) for i in range(2,10)]
for url in urls:
get_info(url)
time.sleep(1)
f.close()
运行结果如下:
关于Python中怎么利用正则抓取数据问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
正则
数据
函数
内容
字符
常用
模块
链接
问题
信息
全文
备注
方法
更多
案例
结果
网页
表达式
规律
帮助
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库的集合并操作的规则
软件开发和前端有什么
乌兰察布苹果数据库
四川电商软件开发需要多少钱
土拨鼠数据库
高考志愿档案网络安全
珠海毕云天网络技术有限公司
服务器配置与管理 刘邦桂
数据库输入命令显示2是啥意思
存储用服务器
健康驿站服务器在哪
软件开发类项目日报
数据仓库和数据库有哪些相似之处
网络安全公司技术支撑工资
学信网查重数据库
深圳市华众互联网科技有限公司
熟悉数据库的交互式sql工具
欧阳欣网络安全
网络基本服务器的配置与管理
家电网络安全公司
瀚高数据库版本号查看
为什么软件开发工作量会大
java往文件服务器写文件
广州可靠网络安全运维
2017软件开发费用标准
数据仓库和数据库有哪些相似之处
网络安全宣传大使是什么职位
数据库博士报考条件
C 怎么连接数据库
pdms 数据库简介