日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

python爬虫,爬取猫眼电影1(正则表达式)

發布時間:2025/4/5 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python爬虫,爬取猫眼电影1(正则表达式) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文用正則、xpath、beautifulsoup、css、pyquery幾種不同的方式,爬取貓眼電影。只是記錄過程。比較亂。

貓眼電影現在也添加了一些反爬蟲機制,如果直接用requests可能會403.所以最好添加header 和cookies。

添加的方法是使用網頁的自動生成請求。

瀏覽器登陸,直接百度搜。

點擊榜單

?點擊top100

?出來頁面之后,點擊檢查按鈕,調出開發者工具。

?選擇network選項卡,然后在頁面上,點擊右鍵彈出“重新加載”,有的瀏覽器可能是“刷新”都差不多。

刷出來4這個頁面,顯示它是一個document,狀態碼是200.

選中4, 右鍵彈出copy

選擇copy as curl(bash)。這樣網絡命令就拷貝到你的剪切板里了。

在進入這個網站,把剪切板里的東西粘貼到左邊欄,就可以自動生成python請求語法。

https://curl.trillworks.com/

?右邊的代碼直接拷貝到pycharm里。就可以生成response了。這樣免去了自己寫,復制粘貼cookies。省很多事,也不會出錯。

?可以看到,粘過來,自動會帶有header, cookies

運行一下, 就可以得到response

?

可以打印出response.txt。太長了,不截屏了。

為了方便,我們還是把這個文件存到本地,方便練習解析庫。?

wk_dir = '(你的路徑)' import oswith open(os.path.join(wk_dir, 'maoyan.txt'), 'w', encoding = 'utf-8') as f:f.write(response.text)print("saved")

?這樣就保存了

如果不關電腦,一直用response.txt也行。

html = response.text html

?首先是正則。

選取一段代碼研究,

?電影的名字是在title后面?

如果檢查元素的話,可以發現

?在“title" 和 ”data-act"之間。

打開這個網址,試一下:

https://c.runoob.com/front-end/854/

電影名字,就是正則表達式里面,括號里的內容,也是我們想提取的信息。?

?搜索電影評分

class="score".*?integer">(.*?)</i

這樣就可以得到需要的 信息。用python把正則表達式寫下來,就是。

這里我們首先選擇每一部電影的源代碼片段。觀察發現,源代碼片段是dd開頭的。

?

所以在每一個dd里面。搜索正則。

這樣不會亂。

for item in item_list:index = re.search(r"board-index-.*?>(\d.*?)</i", item)print(index.group(1))image = re.search(r'data-src.*?"(.*?)"', item)print(image.group(1))title = re.search(r'class="name".*?title="(.*?)"', item)print(title.group(1))actor = re.search(r'class="star">.*?(.*?)</p',item, re.S)print(actor.group(1).strip())time = re.search(r'class="releasetime">(.*?)</p>', item, re.S)print(time.group(1).strip())score1 = re.search(r'class="integer">(\d)', item)score2 = re.search(r'class="fraction">(\d)', item)score = score1.group(1) +"." +score2.group(1)print(score)

?這樣就可以得到結果。

用正則表達式提取信息,就結束了。

在提取電影演員的時候,遇到一個問題,就是在線的正則表達式測試器都不太好用。最后發現了一個網址,這兩個:

https://regex101.com/

這個是國外的,比較慢,

國內的是https://tool.lu/regex/

選中單行,就可以匹配到演員信息。很多在線測試工具沒有這個功能,導致匹配不出來。

?國外的網站就是這樣的。

也要點選 single line?

這樣就能匹配到演員信息。

?

電影的縮略圖信息,也能夠匹配出來。

其他的就沒啥問題了?

總結

以上是生活随笔為你收集整理的python爬虫,爬取猫眼电影1(正则表达式)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。