python爬取猫眼电影信息,取前100名看看哪些电影名列前茅[Python基础]

python

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理

一、前言

将猫眼电影库中的经典影片,按照评分和评分人数综合排序,取前100名
每天上午10点更新,相关数据来源于“猫眼电影库”

二、课程亮点

1、分析网页结构
2、css选择器解析数据
3、保存CSV文件

三、所用到得库

import requests  # 数据请求模块  第三方模块

import parsel # 数据解析模块

import csv # 内置模块

四、环境配置

python 3.6
pycharm
requests
parsel
csv

五、爬虫案例的一般实现步骤:

1.确定数据所在的url地址(系统性的分析网页结构<静态/动态>)
2.发送指定url地址的请求(requests)
3.数据解析(提取你自己想要的数据)
4.数据的保存

六、找寻数据所在处

page_num = 0

for page in range(0, 91, 10):

page_num += 1

print(f"++++++++++++++++++++++++正在爬取第{page_num}页数据++++++++++++++++++++++++")

# 1.确定数据所在的url地址(系统性的分析网页结构<静态/动态>)

url = f"https://maoyan.com/board/4?offset={page}"

headers = {

"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36",

"Host": "maoyan.com",

"Cookie": "__mta=19307015.1608270378570.1608272883017.1608273840603.4; uuid_n_v=v1; uuid=5916177040F411EB8908174FD40B8B01D034C777885540CE816A24F19D4594A4; _csrf=203e7011454c450af49832bbb56b6b0c10a9a947c147679cd60805fd4a6b6d4e; _lxsdk_cuid=1740a7dbe93c8-0066c6e2268b8d-3c634103-1fa400-1740a7dbe94c8; _lxsdk=5916177040F411EB8908174FD40B8B01D034C777885540CE816A24F19D4594A4; _lx_utm=utm_source%3DBaidu%26utm_medium%3Dorganic; Hm_lvt_703e94591e87be68cc8da0da7cbd0be2=1608270376,1608271969; Hm_lpvt_703e94591e87be68cc8da0da7cbd0be2=1608273833; _lxsdk_s=176746274f8-4f3-eec-119%7C%7C12"

}

七、处理反爬:

# 2.发送指定url地址的请求(requests)   处理反爬

response = requests.get(url=url, headers=headers)

html_data = response.text # str 正则

# print(html_data)

八、提取数据:

# 3.数据解析(提取你自己想要的数据)  css选择器

# 3.1 转换数据类型

selector = parsel.Selector(html_data)

# print(selector)

# 3.2 数据解析

dds = selector.css(".board-wrapper dd") # 所有dd标签

for dd in dds: # 数据的二次提取

title = dd.css(".name a::attr(title)").get() # 电影名

star = dd.css(".star::text").get().strip() # 主演

releasetime = dd.css(".releasetime::text").get().strip() # 上映时间

score = dd.css(".score i::text").getall() # 上映时间

score = "".join(score)

img_url = dd.css("img:nth-child(2)::attr(data-src)").get() # 上映时间

print(title, star, releasetime, score, img_url, sep=" | ")

九、数据保存:

# 4.数据的保存

with open("猫眼100.csv", mode="a", encoding="utf-8", newline="") as f:

csv_write = csv.writer(f)

csv_write.writerow([title, star, releasetime, score, img_url])

以上是 python爬取猫眼电影信息,取前100名看看哪些电影名列前茅[Python基础] 的全部内容, 来源链接: utcz.com/z/530550.html

回到顶部