运行环境:
Python3.6.2、Pycharm2017.2
附此爬虫代码GitHub地址:https://github.com/IMWoolei/MaoYanMovies
==>【效果链接】
正文
分析
需要获取的信息
进入到猫眼网经典电影TOP100页面【链接】
需要抓取的数据有名次,海报,影片名、主演、上映时间以及评分。
网页信息分析
从中可以看到,每一步影片的信息都分别存在于<dd></dd>标签中。
所以只需要使用正则匹配出<dd></dd>标签中我们需要的数据即可。
正则表达式可以写成如下表达式
import re
pattern = re.compile(
'<dd>.*?<i class="board-index.*?>(\d+)</i>.*?<img data-src="(.*?)".*?<p class="name">'
'<a.*?>(.*?)</a>.*?<p class="star">(.*?)</p>.*?'
'<p class="releasetime">(.*?)</p>.*?<i class="integer">(.*?)</i><i class="fraction">(.*?)</i>.*?</dd>',
re.S)
# ① (\d+):匹配一个或多个数字
# ② 第一个(.*?):匹配电影海报图片地址
# ③ 第二个(.*?):匹配电影名
# ④ 第三个(.*?):匹配电影主演
# ⑤ 第四个和第五个(.*?):匹配电影评分
代码
(一)将获取到的电影信息写入文本文档中
需要注意的是我们获取到的影片信息JSON数据格式是无法直接写入文本的,所以我们需要先编码成str类型才能够进行写入。
Python3中可以使用json模块来对JSON数据进行编解码,它包含了两个函数:
-json.dumps(): 对数据进行编码。
-json.loads(): 对数据进行解码。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2017/11/25 15:08
# @File : MaoYan_TOP100.py
# @Software: PyCharm
import requests
import re
import json
headers = {
'User-Agent': 'M

该博客介绍了如何使用Python爬虫从猫眼电影网站抓取经典电影的排名、海报、名称、演员、上映日期和评分,并将数据存储为本地Markdown文件。作者首先分析了所需信息和网页结构,然后展示了如何编码数据并写入文本,最后提到了使用多进程提高爬取效率,但可能引起写入顺序不一致的问题。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



