python爬虫入门必备正则_python 爬虫入门之正则表达式 一
python? 正則表達(dá)式知識點(diǎn)
正則 常用符號
. : 匹配任意字符,換行符除外
* : 匹配前一個(gè)字符 0 次或者無限次
? : 匹配前一個(gè)字符 0次或者1次
.* : 貪心算法
.*? :非貪心算法
(): 括號內(nèi)的數(shù)據(jù)作為結(jié)果返回
正則常用方法:
findall: 匹配所有符合規(guī)律的內(nèi)容,返回包含結(jié)果的列表
Search: 匹配并提取第一個(gè)符合規(guī)律的內(nèi)容,返回一個(gè)正則表達(dá)式對象
Sub: 替換符合規(guī)律的內(nèi)容,返回替換后的值
正則表達(dá)式的基本應(yīng)用 ,使用正則表達(dá)式過濾一個(gè)簡單的test文件
test 文件如下html>
極客學(xué)院爬蟲測試《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()
#爬取標(biāo)題
title?=?re.search('
(.*?)',html,re.S).group(1)#使用search?找到所需要的內(nèi)容,就返回print(title)
執(zhí)行代碼,顯示如下
極客學(xué)院爬蟲測試
#爬取鏈接
links?=?re.findall('href="(.*?)"',html,re.S)
print(links)
執(zhí)行代碼,顯示如下
['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('
- (.*?)
print(text_filed)
print("===============================")
the_text?=?re.findall('">(.*?)',text_filed,re.S)
for?every_text?in?the_text:
print(every_text)
執(zhí)行代碼,顯示如下
這是第一條
這是第二條
這是第三條
這是第四條
#sub?實(shí)現(xiàn)翻頁功能
for?i?in?range(7,total_page+1):
new_link?=?re.sub('pageNum=\d+','pageNum=%d'?%i,old_url,re.S)
print(new_link)
執(zhí)行代碼,顯示如下
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
總結(jié)
以上是生活随笔為你收集整理的python爬虫入门必备正则_python 爬虫入门之正则表达式 一的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php框架laravel百科,PHP 的
- 下一篇: python数据分析开发环境_在MAC上