python爬虫入门必备正则_python 爬虫入门之正则表达式 一

本文介绍了Python正则表达式的常用符号和方法,如匹配任意字符、贪婪与非贪婪匹配、括号捕获等,并通过实例展示了如何使用正则表达式从HTML文件中提取标题、链接和文本内容。同时,利用`sub`函数实现动态翻页功能,为爬虫数据抓取提供基础技巧。
摘要由CSDN通过智能技术生成

python  正则表达式知识点

正则 常用符号

. : 匹配任意字符,换行符除外

* : 匹配前一个字符 0 次或者无限次

? : 匹配前一个字符 0次或者1次

.* : 贪心算法

.*? :非贪心算法

(): 括号内的数据作为结果返回

正则常用方法:

findall: 匹配所有符合规律的内容,返回包含结果的列表

Search: 匹配并提取第一个符合规律的内容,返回一个正则表达式对象

Sub: 替换符合规律的内容,返回替换后的值

正则表达式的基本应用 ,使用正则表达式过滤一个简单的test文件

test 文件如下html>

极客学院爬虫测试
  《python定向爬虫入门》
  • 这是第一条
  • 这是第二条
  • 这是第三条
  • 这是第四条

正则使用效果如下#coding:utf-8

import re

old_url='http://www.jikexueyuan.com/course/web/?pageNum=2'

total_page=13

f = open('t1.txt','r',encoding="utf-8")

html = f.read()

f.close()

#爬取标题

title = re.search('

(.*?)',html,re.S).group(1)#使用search 找到所需要的内容,就返回

print(title)

执行代码,显示如下

极客学院爬虫测试

#爬取链接

links = re.findall('href="(.*?)"',html,re.S)

print(links)

执行代码,显示如下

['http://www.jikexueyuan.com/welcome.html', 'http://www.jikexueyuan.com/1.html', 'http://www.jikexueyuan.com/2.html', 'http://www.jikexueyuan.com/3.html', 'http://www.jikexueyuan.com/4.html']

#提取文字

text_filed = re.findall('

  • (.*?)
',html,re.S)[0]

print(text_filed)

print("===============================")

the_text = re.findall('">(.*?)',text_filed,re.S)

for every_text in the_text:

print(every_text)

执行代码,显示如下

这是第一条

这是第二条

这是第三条

这是第四条

#sub 实现翻页功能

for i in range(7,total_page+1):

new_link = re.sub('pageNum=\d+','pageNum=%d' %i,old_url,re.S)

print(new_link)

执行代码,显示如下

http://www.jikexueyuan.com/course/web/?pageNum=7

http://www.jikexueyuan.com/course/web/?pageNum=8

http://www.jikexueyuan.com/course/web/?pageNum=9

http://www.jikexueyuan.com/course/web/?pageNum=10

http://www.jikexueyuan.com/course/web/?pageNum=11

http://www.jikexueyuan.com/course/web/?pageNum=12

http://www.jikexueyuan.com/course/web/?pageNum=13

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值