---練習正規表示式的小**
1、.表示除了換行符以外的任何單個字元
例如我們想找到拜字前面的字元
2、*表示重複匹配任意次包括0次
例如我們想找到,後面的全部字元,他就會匹配從,開始的全部字元
3、+表示重複匹配任意次,不包括0次,需要跟*區別開,那麼同樣的例子,用+會有什麼結果呢,是一樣的結果,但是我們看下面這個例子就能體會不一樣的地方了。
如果沒有,+就不會匹配到字元,如果是*就可以匹配到因為*包含0次,+不包含0次
4、{}匹配指定出現的次數,、x,表示x字元連續出現的次數至少m次,至多n次
5、貪婪模式和非貪婪模式
貪婪模式:盡可能多的匹配,例如:*、+
非貪婪模式:精準匹配,例如:.+?
例如:我們想匹配下面所有的html標籤內容
source = 'title'
1)如果用<.>呢,我們發現他是盡可能多的匹配到所有並且都列印了
2)我們再來看看.*?,我們就可以分別匹配到了,這就是簡單乙個例子體會貪婪模式和非貪婪模式
6、轉義符\
如果我們想匹配下面欄位.前面的字元
按照之前的學的內容來看,匹配到的內容是不對的,是因為.*等這些字元是元字元,我們需要轉義符/,所以更改後結果是
7、匹配某種字元型別
8、方括號匹配幾個字元之一
9、^ 這個字元表示文字開頭位置,如果正規表示式設定為單行模式、表示匹配整個文字的開頭位置,多行模式,匹配文字每行的開頭位置
10、$表示匹配文字的結尾位置,如果正規表示式設定為單行模式、表示匹配整個文字的結尾位置,多行模式,匹配文字每行的結尾位置
11、|表示匹配其中之一
12、()-分組
例如我們想從文字中提取每個人的姓名和對應手機號:
13、字串切割spit()、replace()
---需求拆解
回顧資料解析的步驟:
1)指定標籤的定位
2)標籤或者標籤對應屬性中儲存的資料進行提取(解析)
2、通過正規表示式解析出原始碼中src值,通過findall方法取出並存在列表中
---思考?這樣我們就獲取到了第一頁的資料,但是如果想獲取到所有頁面的資料,怎麼辦呢?
6、我們發現我們跳轉頁面,url後面的引數只有page,跟著page的具體是第幾頁,所以我們可以設定個變數,在通過迴圈呼叫我們想爬取多少頁,就可以多少頁啦,最後的結果直接附上波波老師教導下的完整**嘍
import requestsimport re
import os
if __name__ == '__main__':
# 建立資料夾儲存所有
if not os.path.exists('./qiutulibs'):
os.mkdir('./qiutulibs')
url = ''
# 對應爬取所有頁碼的資料
# page/13/
# 設定乙個通用的url的模板
url1 = 'page/%d/'
headers = {
for page_num in range(1, 3):
new_url = format(url1 % page_num)
print(new_url)
# 使用聚焦爬蟲,爬取所有
# 如何從當前原始碼解析到image標籤對應的src的值? 經過分析 抽取class=thumb
page_text = requests.get(url=url1, headers=headers).text
ex = '.*?
# re.s 多行
image_src_list = re.findall(ex, page_text, re.s)
# print(image_src_list)
for src in image_src_list:
# 拼接出乙個完整的url
# 獲取二進位制資料,請求到了的二進位制資料
image_data = requests.get(url=src, headers=headers).content
# 進行持久化儲存
src_name = src.split('/')[-1]
imgpath = './qiutulibs/' + src_name
with open(imgpath, 'wb') as fp:
fp.write(image_data)
爬取B站彈幕
最近幾天學習爬蟲,便爬取了b站的彈幕,本篇博文記錄的是爬取彈幕的方法一,近期會更新方法二。下面是流程 點開這個包是這個形式的 這裡面就有明文的彈幕,但通過requests獲得的response是經過utf 8編碼加密過的,想要獲得彈幕內容還要解密。下面附 from bs4 import beauti...
爬蟲專欄6 爬取B站彈幕
比如說這裡我隨便開乙個網頁 在xhr標籤裡面可以看到乙個小眼睛圖示的玩意兒,開啟那個url進去之後 就可以直接提取了 ps 1.針對匹配,乙個尖括號結束之後最好用.過渡到另乙個尖括號,不要什麼都不加,可能抓不出來 2.這是針對response.text和response.content.decode...
python爬取B站彈幕學習筆記
然後開啟檢查,選擇net 這個位址就是存放彈幕的檔案 接下來我們之間用request模組去get文字,beautifulsoup去處理獲取文字,然後匯入到詞云 匯入擴充套件庫 import re 正規表示式庫 import collections 詞頻統計庫 import numpy as np n...