[問題] 電影排行爬蟲

作者: lhsilyvm (此一時也彼一時)   2022-05-10 23:47:40
目前正在學習使用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))
作者: TakiDog (多奇狗)   2022-05-11 00:05:00
用正則太累了吧預告片/全美 都是點擊才動態載入,你要爬的url不對
作者: alansyue (alansyue)   2022-05-16 11:34:00
解析 HTML 用 BeautifulSoup 比較方便

Links booklink

Contact Us: admin [ a t ] ucptt.com