python爬虫猫眼电影top100
时间: 2023-11-08 21:46:36 浏览: 56
要爬取Python爬虫猫眼电影Top100,你可以按照以下步骤进行操作:
1. 首先,定义一个函数get_page(url),用于获取指定URL的HTML源码。这个函数可以使用requests库发送GET请求来获取页面内容。如果返回的状态码为200,表示获取成功,将HTML源码返回;如果状态码不为200,则返回'Crawl Failed'。
2. 在获取HTML源码之后,你需要解析HTML源码来提取所需的电影信息。可以使用正则表达式来匹配HTML源码中的电影排名、名称、主演、上映时间和地区等信息。
3. 创建一个空的DataFrame,用于存储电影信息。DataFrame的列可以分别定义为'Rank'、'Name'、'Actors'、'Date'和'Region'。然后,遍历解析HTML源码后得到的结果列表,将每个电影的信息添加到DataFrame中的相应行和列中。注意在处理演员信息、上映时间和地区字段时要进行相应的处理和清洗。
4. 最后,将DataFrame保存为CSV格式的数据文件,即可得到你所期望的Python爬虫猫眼电影Top100的电影信息。你可以使用pandas库的to_csv方法来实现保存。
下面是一个示例代码,演示了如何爬取猫眼电影Top100的电影信息并保存为CSV文件:
import requests
import re
import pandas as pd
def get_page(url):
response = requests.get(url)
if response.status_code == 200:
return response.text
else:
return 'Crawl Failed'
def parse_html(html):
pattern = re.compile('<dd>.*?board-index.*?>(\d )</i>.*?name.*?title="(.*?)".*?star.*?主演:(.*?)</p>.*?releasetime.*?上映时间:(.*?)</p>', re.S)
result = re.findall(pattern, html)
return result
html = get_page('https://maoyan.com/board/4')
result = parse_html(html)
data = pd.DataFrame([], columns=['Rank', 'Name', 'Actors', 'Date', 'Region'])
for i, item in enumerate(result):
rank = i + 1
name = item
actors = item.strip()
temp = item.split('(')
if len(temp) == 1:
date = temp
region = ''
else:
date = temp
region = temp[:-1]
data.loc[i] = [rank, name, actors, date, region]
data.to_csv('maoyan_top100.csv', index=False)
以上代码将会爬取猫眼电影Top100的电影信息,并且保存为名为maoyan_top100.csv的CSV文件。你可以根据实际需求进行修改和扩展。<span class="em">1</span><span class="em">2</span><span class="em">3</span>