/1 前言/
受疫情的影响,很多电影院现在都倒闭关门。最近好像听说电影院要开工了,快来看一看最近有什么刚上映的电影 !
猫眼电影是淘宝联合打造电影分类最全的电影的平台,能够第一时间告知用户,最新的电影上线时间。今天教大家获取猫眼电影的即将上映的电影详情。
/2 项目目标/
获取猫眼电影的即将上映的电影详情。
/3 项目准备/
软件:PyCharm
需要的库:requests、lxml、random、time
插件:Xpath
网站如下:
https://maoyan.com/films?showType=2&offset={}
点击下一页的按钮,观察到网站的变化分别如下:
https://maoyan.com/films?showType=2&offset=30https://maoyan.com/films?showType=2&offset=60https://maoyan.com/films?showType=2&offset=90
点击下一页时,页面每增加一页offset=()每次增加30,所以可以用{}代替变换的变量,再用for循环遍历这网址,实现多个网址请求。
/4 项目实现/
1、定义一个class类继承object,定义init方法继承self,主函数main继承self。导入需要的库和网址,代码如下所示。
import requestsfrom lxml import etree
import timeimport 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()
for i in range(1, 50): # ua.random,一定要写在这里,每次请求都会随机选择。 self.headers = { 'User-Agent': ua.random, }
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)
1)基准xpath节点对象列表。
# 创建解析对象parse_html = etree.HTML(html)# 基准xpath节点对象列表dd_list = parse_html.xpath('//dl[@class="movie-list"]//dd')
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 = '''【即将上映】
movie = '''【即将上映】 电影名字: %s
主演:%s
类型:%s详情链接:https://maoyan.com%s========================================================= ''' % (name, star, type,dowld)print( movie)
time.sleep(random.randint(1, 3))
html = self.get_page(url)self.parse_page(html)
/5 效果展示/
1、点击绿色小三角运行输入起始页,终止页。
2、运行程序后,结果显示在控制台,如下图所示。
3、点击蓝色下载链接, 网络查看详情。
/6 小结/
1、不建议抓取太多数据,容易对服务器造成负载,浅尝辄止即可。
2、本文基于Python网络爬虫,利用爬虫库,实现爬取猫眼电影。
3、欢迎大家积极尝试,有时候看到别人实现起来很简单,但是到自己动手实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。
4、如果需要本文源码的话,请在公众号后台回复“猫眼电影”四个字进行获取,觉得不错,记得给个star噢。
------------------- End -------------------
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。