[問題] 電影排行爬蟲
目前正在學習使用requests模組爬蟲,
以奇摩電影的排行榜當作練習,
網址如下:
https://movies.yahoo.com.tw/chart.html?cate=year
網頁右邊有一側邊欄台北票房、全美票房、預告片的排行榜,
擷取網頁內排行資訊的部分語法如下:
<div class="num">2</div>
<span>媽的多重宇宙</span>
</li>
不管是哪種排行榜都是這種結構,
但是以下列的函數去操作時,
都只找到台北票房的部分,
跑完十個項目就結束了,
想請教有沒有漏掉什麼地方,
謝謝
以下是爬蟲的函數:
def get_webpage(self, url):
html = requests.get(url=url,headers=self.headers).content.decode('utf-8')
# 利用正規表示法搜尋
pattern = '<div class="num">(.*?)</div>.*?<span>(.*?)</span>.*?</li>'
regex = re.compile(pattern, re.S)
movie_list = regex.findall(html)
self.save_webpage(movie_list)
def save_webpage(self, movie_list):
movie_dict = {}
for movie in movie_list:
movie_dict['rank'] = movie[0].strip()
movie_dict['name'] = movie[1].strip()
print(movie_dict)
time.sleep(random.uniform(0, 2))
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.133.252.234 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1652197662.A.D70.html
→
05/11 00:05,
3年前
, 1F
05/11 00:05, 1F
→
05/11 00:09,
3年前
, 2F
05/11 00:09, 2F
→
05/16 11:34, , 3F
05/16 11:34, 3F
Python 近期熱門文章
PTT數位生活區 即時熱門文章