日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python爬蟲re模塊

系統(tǒng) 1704 0

python爬蟲1

《1》什么是爬蟲網(wǎng)絡(luò)爬蟲?
網(wǎng)絡(luò)爬蟲(又被稱為網(wǎng)頁(yè)蜘蛛,網(wǎng)絡(luò)機(jī)器人), 是一種按照一定的規(guī)則,自動(dòng)地抓取萬(wàn)維網(wǎng)信息的程序或者腳本。

《2》爬蟲的基本原理:
我們把互聯(lián)網(wǎng)比喻為一張大網(wǎng),網(wǎng)絡(luò)爬蟲我們想象為網(wǎng)上的蜘蛛,網(wǎng)頁(yè)與網(wǎng)頁(yè)之間的連接我們理解為節(jié)點(diǎn),爬蟲就相當(dāng)于是訪問(wèn)網(wǎng)頁(yè),獲取網(wǎng)頁(yè)的信息,又通過(guò)節(jié)點(diǎn)可以爬取另一個(gè)網(wǎng)站,然后不停的通過(guò)一個(gè)個(gè)節(jié)點(diǎn)即訪問(wèn)一個(gè)個(gè)網(wǎng)頁(yè),這樣網(wǎng)站的數(shù)據(jù)就可以被我們獲取下來(lái)了。

《3》爬蟲的分類:網(wǎng)絡(luò)爬蟲可分為 通用爬蟲 聚焦爬蟲 兩種

1 通用爬蟲 :通用網(wǎng)絡(luò)爬蟲 是 捜索引擎抓取系統(tǒng)(Baidu、Google、Yahoo等)的重要組成部分。主要目的是將互聯(lián)網(wǎng)上的網(wǎng)頁(yè)下載到本地,形成一個(gè)互聯(lián)網(wǎng)內(nèi)容的鏡像備份。
2 聚焦爬蟲 :聚焦爬蟲,是"面向特定主題需求"的一種網(wǎng)絡(luò)爬蟲程序,它與通用搜索引擎爬蟲的區(qū)別在于:聚焦爬蟲在實(shí)施網(wǎng)頁(yè)抓取時(shí)會(huì)對(duì)內(nèi)容進(jìn)行處理篩選,盡量保證只抓取與需求相關(guān)的網(wǎng)頁(yè)信息。

urllib庫(kù)

三個(gè)方面:

request: 它是最基本的HTTP請(qǐng)求模塊,可以用來(lái)模擬發(fā)送請(qǐng)求,就像在瀏覽器中輸入網(wǎng)址,然后敲擊回車鍵一樣,使用的時(shí)候只需要給庫(kù)方法傳入相關(guān)的URL和相關(guān)的參數(shù)即可.

error: 異常處理模塊,如果出現(xiàn)請(qǐng)求錯(cuò)誤,我們可以使用這個(gè)模塊來(lái)捕獲異常,然后進(jìn)行重試或者其他操作,保證程序不會(huì)意外終止.

parse: 這是一個(gè)工具模塊,提供了許多url的處理方法,比如拆分,解析,合并等等.

參數(shù)序列化:

1 parse_qs() 將url編碼格式的參數(shù)反序列化為字典類型
2 quote() 可以將中文轉(zhuǎn)換為URL編碼格式
3 unquote: 可以將URL編碼進(jìn)行解碼
4 urljoin() 傳遞一個(gè)基礎(chǔ)鏈接,根據(jù)基礎(chǔ)鏈接可以將某一個(gè)不完整的鏈接拼接為一個(gè)完整鏈接
5 urlparse() 實(shí)現(xiàn)URL的識(shí)別和分段
6 urlunparse() 可以實(shí)現(xiàn)URL的構(gòu)造

正則表達(dá)式

實(shí)際上爬蟲一共就四個(gè)主要步驟:

            
              * 明確目標(biāo) (要知道你準(zhǔn)備在哪個(gè)范圍或者網(wǎng)站去搜索)
* 爬 (將所有的網(wǎng)站的內(nèi)容全部爬下來(lái))
* 取 (去掉對(duì)我們沒用處的數(shù)據(jù))
* 處理數(shù)據(jù)(按照我們想要的方式存儲(chǔ)和使用)

            
          

常用的正則匹配規(guī)則:
單字符撇匹配

            
              * \d : 匹配數(shù)字0-9
* \D: 匹配非數(shù)字 [^\d] [^0-9]
* \w: 匹配單詞字符[a-zA-Z0-9_]
* \W: 匹配非單詞字符 [^\w]
* \s: 匹配空白字符 (空格、\t....)
* \S: 匹配非空白字符 [^\s]
* . 匹配除了換行符'\n'之外的任意字符

            
          

多字符匹配(貪婪:盡可能多的匹配)
* 匹配*前的正則表達(dá)式,任意次數(shù)
? 匹配?前的正則表達(dá)式,0次或1次
+ 匹配+前的正則表達(dá)式,至少一次
{n,m} 匹配{n,m}前的正則表達(dá)式, n到m次
{n} 匹配{n}前的正則表達(dá)式, n次

非貪婪匹配 (非貪婪匹配:盡可能少的匹配)
*?
??
+?

其他:
== | 或:匹配左邊和右邊的正則表達(dá)式之一==
== () 分組==
^ 匹配字符串開頭
== $ 匹配字符串結(jié)尾==

re 模塊

            
              1. compile 方法: 將正則表達(dá)式的字符串形式編譯為一個(gè) Pattern 對(duì)象
2. match 方法:從起始位置開始匹配符合規(guī)則的字符串,單次匹配,匹配成功,立即返回Match對(duì)象,未匹配成功則返回None
3. search 方法:從整個(gè)字符串中匹配符合規(guī)則的字符串,單次匹配,匹配成功,立即返回Match對(duì)象,未匹配成功則返回None
4. findall 方法:匹配所有合規(guī)則的字符串,匹配到的字符串放到一個(gè)列表中,未匹配成功返回空列表
5. finditer 方法:匹配所有合規(guī)則的字符串,匹配到的字符串放到一個(gè)列表中,匹配成功返回
6. split 方法:根據(jù)正則匹配規(guī)則分割字符串,返回分割后的一個(gè)列表
7. sub 方法:替換匹配成功的指定位置字符串

            
          

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 元谋县| 简阳市| 含山县| 大洼县| 威海市| 维西| 桐庐县| 珲春市| 蒙城县| 西宁市| 渭南市| 灵川县| 武邑县| 广南县| 威远县| 交口县| 和田市| 兖州市| 宜黄县| 海原县| 汝城县| 牙克石市| 丹凤县| 五大连池市| 璧山县| 四子王旗| 商都县| 兴业县| 六盘水市| 法库县| 和龙市| 河津市| 五峰| 游戏| 兴隆县| 华宁县| 宜黄县| 扎囊县| 鄱阳县| 新竹县| 阿克陶县|