python爬取猫眼电影的Top100
Posted L的存在
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python爬取猫眼电影的Top100相关的知识,希望对你有一定的参考价值。
1 查看网页结构
(1)确定需要抓取的字段
电影名称
电影主演
电影上映时间
电影评分
(2) 分析页面结构
按住f12------->点击右上角(如下图2)---->鼠标点击需要观察的字段
(3)BeautifulSoup解析源代码并设置过滤属性
1 soup = BeautifulSoup(htmll, \'lxml\')
2 Movie_name = soup.find_all(\'div\',class_=\'movie-item-info\')
3 Movie_Score1=soup.find_all(\'p\',class_=\'score\')
(4)调试查看过滤属性是否正确
(5)提取对应字段
1 for cate,score in zip(Movie_name,Movie_Score1): 2 data={} 3 movie_name1 = cate.find(\'a\').text.strip(\'\\n\') 4 data[\'title\']=movie_name1 5 movie_actor = cate.find_all("p")[1].text.replace("\\n"," ").strip() 6 data[\'actors\']=movie_actor 7 movie_time=cate.find_all("p")[2].text.strip(\'\\n\').strip() 8 data[\'data\']=movie_time 9 movie_score1=score.find_all("i")[0].string 10 movie_score2=score.find_all("i")[1].string 11 movie_score=movie_score1+movie_score2 12 data[\'score\'] = movie_score 13 name = movie_name1 + "\\t"+movie_actor+"\\t" + movie_time+"\\t"+movie_score 14 DATA.append(name) 15 with open(\'Movie1.txt\', \'a+\') as f: 16 f.write("\\n{}".format(name))
(6)翻页爬取
如下图,按照1 2 3步骤,发现页数是有这样子的规律。比如offset=0 offset=10......
2 存储excel
1 for datas in DATA: 2 datas=datas.split(\'\\t\')#因为我之前解析字段拼接的时候就是采用\\t分割 3 print(len(datas)) 4 print(datas) 5 for j in range(len(datas)):#列表中的每一项都包含按照\\t分割的字段 6 print(j) 7 sheet1.write(i, j, datas[j]) 8 i = i + 1 9 f.save("d.xls") # 保存文件
3 结果
以上是关于python爬取猫眼电影的Top100的主要内容,如果未能解决你的问题,请参考以下文章