datawhale爬蟲(正則入門and第乙個爬蟲)

2021-09-11 18:22:41 字數 1979 閱讀 4661

1.正規表示式基礎介紹

import re

result=re.findall('a..',text)#.為乙個字元,輸出可以為abc aac 等等

result=set(result)

print(result)

result=re.findall(' a.. ',text)#如上,輸出3個,但是前後都有空格

result=set(result)

print(result)

result=re.findall(' a[a-z][a-z] ',text)#[ ]控制範圍如**所示[a-z]為從a到z的字母 ,可以為b c等等

result=set(result)

print(result)

result=re.findall(' (a[a-z][a-z]) ',text) # ()括起來後,則只輸出()裡面的東西

result=set(result)

print(result)

result=re.findall(' *([aa][a-z][a-z]) ',text)# *則是和.一樣,但是他可以為空,即為不輸出

result=set(result)

print(result)

result=re.findall(' a[a-z][a-z] |a[a-z][a-z] ',text)# | 這裡即為或者

result=set(result)

print(result)

上面**中的text是我隨便找的乙個文件,大家也可以自行輸入

re.match和re.search:

import re

ret_match = re.match("c", "abcde"); # 從字串開頭匹配,匹配到返回match的物件,匹配不到返回none

if (ret_match):

print("ret_match:" + ret_match.group());

else:

print("ret_match:none");

ret_search = re.search("c", "abcde"); # 掃瞄整個字串返回第乙個匹配到的元素並結束,匹配不到返回none

if (ret_search):

print("ret_search:" + ret_search.group());

基礎正規表示式,先介紹到這裡,後面會繼續講解,下面開始我們的第乙個實際專案,第乙個爬蟲:

豆瓣電影top250

要求:影片名稱,排名,國家,導演等:

1.建議首先將原始碼爬取下來儲存為檔案,這樣方便自己多次爬取,並且速度快。

with open('e:\\豆瓣top250_html.txt', 'w+',encoding="utf-8") as f:

f.write(html)

for i in pages:

i=i*25

i=str(i)

url=''+i+'&filter='

將我們所需要的**儲存下來,後面再次使用;

3.分析網頁原始碼

很容易看出,我們所需要的資料,他們的頭標籤如上,於是,我們可以寫出如下:

for i in soup.find_all('span', class_="title"):  # 名字

print(i.text)

for i in soup.find_all('p', class_=""): # 看過的總人數

print(i.text)

datawhale爬蟲task 1之正規表示式

任務一 3天 1.1 學習get與post請求 學習get與post請求,嘗試使用requests或者是urllib用get方法向發出乙個請求,並將其返回結果輸出。如果是斷開了網路,再發出申請,結果又是什麼。了解申請返回的狀態碼。了解什麼是請求頭,如何新增請求頭。1.2 正規表示式 學習什麼是正規表...

datawhale爬蟲(xpath爬取丁香網評論)

1.xpath基礎學習 前面我們介紹了 beautifulsoup 的用法,這個已經是非常強大的庫了,不過還有一些比較流行的解析庫,例如 lxml,使用的是 xpath 語法,同樣是效率比較高的解析方法。如果大家對 beautifulsoup 使用不太習慣的話,可以嘗試下 xpath。xpath 是...

爬蟲入門 正規表示式

1.普通字元作為原子 import re str leadingme path me res re.search path,str 2.非列印字元作為原子 n換行符,t製表符等 3.通用字元作為原子 w 字母,數字,下劃線 w 除字母,數字,下劃線字元 d 十進位制數 d 除十進位制數數字 s 空白...