亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python爬蟲運(yùn)用正則表達(dá)式的方法和優(yōu)缺點(diǎn)

系統(tǒng) 1895 0

前言

我看到最近幾部電影很火,查了一下貓眼電影上的數(shù)據(jù),發(fā)現(xiàn)還有個(gè)榜單,里面有各種經(jīng)典和熱映電影的排行榜,然后我覺得電影封面圖還挺好看的,想著一張一張下載真是費(fèi)時(shí)費(fèi)力,于是突發(fā)奇想,好像可以用一下最近學(xué)的東西實(shí)現(xiàn)我的需求,學(xué)習(xí)了正則表達(dá)式之后,想著要感受一下它在爬蟲里面的效果和優(yōu)缺點(diǎn)。

目標(biāo):爬取Top100榜單上電影的封面圖

Top100榜單規(guī)則:將貓眼電影庫中的經(jīng)典影片,按照評分和評分人數(shù)從高到低綜合排序取前100名,每天上午10點(diǎn)更新。相關(guān)數(shù)據(jù)來源于“貓眼電影庫”。

下面是我做的步驟:

(1)查看頁面元素,找到包含圖片的路徑的代碼段落

(2)分析圖片在web上面的唯一屬性,便于之后獲取正確圖片位置信息

(3)因?yàn)樾枰?,觀察多個(gè)頁面的URL變化

(4)綜合以上幾個(gè)點(diǎn),編寫合適的正則表達(dá)式

?1、python 標(biāo)準(zhǔn)庫中re模塊提供了正則表達(dá)式的全部功能,直接引入;requests模塊是http庫,爬蟲常用庫,而urllib.requests 則是最后用到寫入文件的函數(shù)

            
import re
import requests
import urllib.request
          

2、先接收URL地址的HTML頁面,然后轉(zhuǎn)化為str形式(正則表達(dá)式是匹配字符串),第一個(gè)pattern1縮小范圍,抓取目標(biāo)部分,result1接收匹配的結(jié)果,這時(shí)候所有封面圖地址就在里面了

            
response = requests.get(url)
response = str(response.content)
patttern1 = '
            
.+?
' result1 = re.compile(pat).findall(response)

3、第二個(gè)正則,匹配圖片的地址信息

                  
pat2 = '
                  
                  
                    Python爬蟲運(yùn)用正則表達(dá)式的方法和優(yōu)缺點(diǎn)_第1張圖片
                  
                  

?4、繼續(xù)下一步,把每張圖片命名好,需要正確的圖片地址,避免重復(fù)?

                      
x = 1
for imgurl in name:
 imgname = 'D:/Top 100/'+str(i/10)+str(x)+'.jpg'
 imgurl = 'https://'+imgurl
 urllib.request.urlretrieve(imgurl,filename=imgname)
 x += 1
                    

?5、最后一步了,因?yàn)樾枰撆廊?,所以加了一個(gè)循環(huán),10頁內(nèi)容爬取下來

                      
for i in range(0, 100, 10):
  url = 'http://maoyan.com/board/4?offset='+str(i)
  get_one_page(url, i)
  #定義函數(shù),多次調(diào)用
                    

相對來說,這是一個(gè)很簡單的應(yīng)用,也是自己學(xué)習(xí)之后的實(shí)踐,在這個(gè)例子中,我是用到正則表達(dá)式來實(shí)現(xiàn)的,還有其他方法,而且可能簡單,比如BeautifulSoup,XPath等方法,用在更加復(fù)雜的爬蟲項(xiàng)目里面,需要的知識更多,方法更嚴(yán)謹(jǐn),還需學(xué)習(xí)學(xué)習(xí)!

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: av在线色| 色视频播放| 9re视频这里只有精品 | 欧美人与动性xxxxbbbb | 91精品国产闺蜜国产在线 | 欧美性猛交xxxx免费看手交 | 久久影片 | 五月花在线观看播放视频 | 99精品国产费观看视频 | 在线看片91| 韩日中文字幕 | 亚洲 国产 图片 | 免费看欧美日韩一区二区三区 | 久久99久久99精品免观看麻豆 | 一本一本久久a久久综合精品蜜桃 | 国产日韩欧美精品一区二区三区 | 一级黄色毛片免费看 | 国产精品亚欧美一区二区三区 | 插插射射 | 91视频免费观看高清观看完整 | 老司机精品久久 | 久久久久在线视频 | 一二三区无线码2021 | 99国产精品视频免费观看 | 毛片网站在线观看 | 亚洲人妖女同在线播放 | 国产精品a在线观看香蕉 | 2020年国产高中毛片在线视频 | 国产成人在线免费 | 特级黄色视频毛片 | 国产精品网站在线观看 | 国产99热在线观看 | 亚欧乱色视频大全 | 操一操干一干 | 色视频在线播放 | 亚洲日本中文 | 国产婷婷色一区二区三区 | 精品欧美一区二区在线观看 | 这里只有精品首页 | 日本黄色mv | 欧美日韩看片 |