Python爬虫(三):爬取猫眼电影网经典电影TOP100信息并存入本地Markdown文件(下)

编程入门 行业动态 更新时间:2024-10-28 06:33:48

Python<a href=https://www.elefans.com/category/jswz/34/1770264.html style=爬虫(三):爬取猫眼电影网经典电影TOP100信息并存入本地Markdown文件(下)"/>

Python爬虫(三):爬取猫眼电影网经典电影TOP100信息并存入本地Markdown文件(下)


运行环境:Python3.6.2Pycharm2017.2
附此爬虫代码GitHub地址:

==>【效果链接】


上一篇博客【链接】

正文

Markdown作为一个易上手的标记书写语言,能够提供高效清晰的书写板是,一直是我很喜欢的书写工具。
Python的第三方库中提供了Markdown模块,用于Markdown的书写,以及提供转html等功能。
实际上Markdown是一个纯文本的标记语言,其文件的拓展名为*.md,我们甚至可以直接使用记事本书写。上一篇博客中我们得到了经典TOP100的电影信息,我们将其信息写入到Markdown文件中,使其更好的可视化。因为没有将其转为html文件,所以在这次代码中就没有使用到markdown模块,而是直接将其写入拓展名为*.md的文本文件中。

完整代码

import requests
import re
import jsonheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36','Referer': '=0'}def getPage(url):try:response = requests.get(url, headers=headers)# print(response.status_code)if response.status_code == 200:return response.textelse:return Noneexcept Exception:return Nonedef getInfo(html):# 正则匹配出电影的索引、海报、电影名、主演、评分pattern = repile('<dd>.*?<i class="board-index.*?>(\d+)</i>.*?<a href="(.*?)".*?<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)items_list = re.findall(pattern, html)for item in items_list:yield {'index': item[0],'link': '' + item[1],'image': item[2],'name': item[3],'actor': item[4].strip()[3:],'time': item[5].strip()[5:],'score': item[6] + item[7]}def writeMarkdown(field):with open('Movies_Info_MD.md', mode='a', encoding='utf-8') as f:info_dict = json.dumps(field, ensure_ascii=False)print('----->' + info_dict)f.write('## No:' + field['index'] + '\n')  # 写入排名f.write('![image](' + field['image'] + ')\n')  # 写入海报,注意Markdown中插入图片的语法f.write('### **' + field['name'] + '** \n')  # 写入影片名f.write('#### **主演**:' + field['actor'] + '\n')  # 写入主演f.write('#### **上映时间**:' + field['time'] + '\n')  # 写入上映时间f.write('#### **评分**:' + field['score'] + '\n')  # 写入评分f.write('[了解更多...](' + field['link'] + ')\n\n')f.write('------\n')  # 写入分割线,在Markdown语法中至少三个'-'以上才能构成分割线f.close()if __name__ == '__main__':for num in [i * 10 for i in range(11)]:url = '=' + str(num)html = getPage(url)for item in getInfo(html):# print(item)writeMarkdown(item)

运行效果

除此之外,我将生成的Markdown文件导入到了我的CSDN博客中【链接】


更多推荐

Python爬虫(三):爬取猫眼电影网经典电影TOP100信息并存入本地Markdown文件(下)

本文发布于:2024-02-07 06:52:45,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1754205.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:爬虫   猫眼   电影网   经典电影   文件

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!