1、正規表示式:通用的字串表達框架,簡潔表達一組字串的表示式。針對字串表達「簡潔」和「特徵」思想的工具。判斷某字串的特徵歸屬。主要應用在字串匹配中
正規表示式在文字處理中常用:表達文字型別的特徵(病毒、入侵等);同時查詢或替換一組字串;匹配字串的全部或部分。
正規表示式的使用:
編譯:將符合正規表示式語法的字串轉換成正規表示式特徵。
正規表示式語法:正規表示式是由字元和操作符構成。
2、re庫介紹
re庫是python的標準庫,主要用於字串匹配。import re
正規表示式的表示型別:
(1)raw string型別(原生字串型別),不包含轉義符的字串
re庫採用raw string型別表示正規表示式,表示為:r』text』
r'[1-9'\d-\d|d-\d' 國內**號碼
(2)string型別,更繁瑣。
2、re庫的主要功能函式
函式說明
re.search()
在乙個字串中搜尋匹配正規表示式的第乙個未知,返回match物件
re.match()
從乙個字串的開始位置起匹配正規表示式,返回match物件
re.findall()
搜尋字串,以列表型別返回全部能匹配的自串
re.split()
將字串按照正規表示式匹配結果進行分割,返回列表型別
re.finditer()
搜尋字串,返回乙個匹配結果的迭代型別,每個迭代元素是match物件
re.sub()
在乙個字串中替換所有匹配正規表示式的子串,返回替換後的字串
re庫的match物件:
二、爬取豆瓣top250電影內容
每個頁面有25部電影,前25部電影對應的url:
每往後翻一頁,url對應的start增加25。
import csv
import requests
from bs4 import beautifulsoup
import codecs
def get_info
(link)
: r = requests.
get(url)
soup =
beautifulsoup
(r.text,
'lxml'
) titles = soup.
findall
(class_=
'hd'
) nums = soup.
findall
('em'
) scores = soup.
findall
(class_=
'rating_num'
)for num, title, score in zip
(nums, titles, scores)
: data.
((num.text, title.
find
(class_=
'title'
).text, score.text)
)print
('done one page'
)if __name__ ==
'__main__'
: urls =
[''.format
(i)for i in range(0
,226,25
)]csvfile = codecs.
open
('top250.csv'
,'w+'
,'utf_8_sig'
) writer = csv.
writer
(csvfile)
data =
for url in urls:
get_info
(url)
for i in data:
writer.
writerow
(i) csvfile.
close
()
08 網路爬蟲
原理 httprequest 新聞伺服器 dom 文件 爬蟲應用 dom 解析 資料庫 網路爬蟲之dom解析 document element elements jsoup html 解析器 匯入jsoup 1.6.3.jar 網路爬蟲的步驟 1 網路請求 請求url 2 得到dom文件 docum...
16 網路爬蟲
爬取整個靜態網頁 並存入檔案。第乙個引數是 要帶協議 http 二三引數可選,意思暫時不知道 動態的暫時不會。加request import urllib2 request urllib2.request response urllib2.urlopen request print response...
1 網路爬蟲
網路爬蟲 web crawler 是一種按照一定的規則,自動的抓取全球資訊網資訊的程式或指令碼。大資料時代,資訊的採集是一項重要的工作,而網際網路的資料是海量的,如果單純靠人力進行資訊採集,不僅低效繁瑣,蒐集的成本也會提高。如何自動高效地獲取網際網路中我們感興趣的資訊並為我們所用是乙個重要的問題,而...