[问题] 电影排行爬虫

楼主: 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