/1 前言/
/2 项目目标/
获取猫眼电影的即将上映的电影详情。
/3 项目准备/
软件:PyCharm
需要的库:requests、lxml、random、time
插件:Xpath
网站如下:
https://maoyan.com/films?showType=2&offset={}
点击下一页的按钮,观察到网站的变化分别如下:
https://maoyan.com/films?showType=2&offset=30 https://maoyan.com/films?showType=2&offset=60 https://maoyan.com/films?showType=2&offset=90
点击下一页时,页面每增加一页offset=()每次增加30,所以可以用{}代替变换的变量,再用for循环遍历这网址,实现多个网址请求。
/4 项目实现/
1、定义一个class类继承object,定义init方法继承self,主函数main继承self。导入需要的库和网址,代码如下所示。
import requests from lxml import etree import time import random class MaoyanSpider(object): def __init__(self): self.url = "https://maoyan.com/films?showType=2&offset={}" def main(self): pass if __name__ == '__main__': spider = MaoyanSpider() spider.main()
2、随机产生UserAgent。
for i in range(1, 50): # ua.random,一定要写在这里,每次请求都会随机选择。 self.headers = { 'User-Agent': ua.random, }
3、发送请求,获取页面响应。
def get_page(self, url): # random.choice一定要写在这里,每次请求都会随机选择 res = requests.get(url, headers=self.headers) res.encoding = 'utf-8' html = res.text self.parse_page(html)
4、xpath解析一级页面数据,获取页面信息。
1)基准xpath节点对象列表。
# 创建解析对象 parse_html = etree.HTML(html) # 基准xpath节点对象列表 dd_list = parse_html.xpath('//dl[@class="movie-list"]//dd')
2)依次遍历每个节点对象,提取数据。
for dd in dd_list: name = dd.xpath('.//div[@class="movie-hover-title"]//span[@class="name noscore"]/text()')[0].strip() star = dd.xpath('.//div[@class="movie-hover-info"]//div[@class="movie-hover-title"][3]/text()')[1].strip() type = dd.xpath('.//div[@class="movie-hover-info"]//div[@class="movie-hover-title"][2]/text()')[1].strip() dowld=dd.xpath('.//div[@class="movie-item-hover"]/a/@href')[0].strip() # print(movie_dict) movie = '''【即将上映】
5、定义movie,保存打印数据。
movie = '''【即将上映】 电影名字: %s 主演:%s 类型:%s 详情链接:https://maoyan.com%s ========================================================= ''' % (name, star, type,dowld) print( movie)
6、random.randint()方法,设置时间延时。
time.sleep(random.randint(1, 3))
7、调用方法,实现功能。
html = self.get_page(url) self.parse_page(html)
/5 效果展示/
1、点击绿色小三角运行输入起始页,终止页。
2、运行程序后,结果显示在控制台,如下图所示。
3、点击蓝色下载链接, 网络查看详情。
/6 小结/
1、不建议抓取太多数据,容易对服务器造成负载,浅尝辄止即可。
2、本文基于Python网络爬虫,利用爬虫库,实现爬取猫眼电影。
以上是用Python网络爬虫来看看最近电影院都有哪些上映的电影的详细内容。更多信息请关注PHP中文网其他相关文章!

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于Seaborn的相关问题,包括了数据可视化处理的散点图、折线图、条形图等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于进程池与进程锁的相关问题,包括进程池的创建模块,进程池函数等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于简历筛选的相关问题,包括了定义 ReadDoc 类用以读取 word 文件以及定义 search_word 函数用以筛选的相关内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于数据类型之字符串、数字的相关问题,下面一起来看一下,希望对大家有帮助。

VS Code的确是一款非常热门、有强大用户基础的一款开发工具。本文给大家介绍一下10款高效、好用的插件,能够让原本单薄的VS Code如虎添翼,开发效率顿时提升到一个新的阶段。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于numpy模块的相关问题,Numpy是Numerical Python extensions的缩写,字面意思是Python数值计算扩展,下面一起来看一下,希望对大家有帮助。

pythn的中文意思是巨蟒、蟒蛇。1989年圣诞节期间,Guido van Rossum在家闲的没事干,为了跟朋友庆祝圣诞节,决定发明一种全新的脚本语言。他很喜欢一个肥皂剧叫Monty Python,所以便把这门语言叫做python。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Dreamweaver CS6
视觉化网页开发工具

记事本++7.3.1
好用且免费的代码编辑器

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境