Python爬虫(三):爬取猫眼电影网经典电影TOP100信息并存入本地Markdown文件(下)
来源:互联网 发布:淘宝发货人信息怎么改 编辑:程序博客网 时间:2024/05/19 05:38
运行环境:
Python3.6.2
、Pycharm2017.2
附此爬虫代码GitHub地址:https://github.com/IMWoolei/MaoYanMovies
==>【效果链接】
上一篇博客【链接】
正文
Markdown
作为一个易上手的标记书写语言,能够提供高效清晰的书写板是,一直是我很喜欢的书写工具。 Python
的第三方库中提供了Markdown
模块,用于Markdown
的书写,以及提供转html
等功能。
实际上Markdown
是一个纯文本的标记语言,其文件的拓展名为*.md
,我们甚至可以直接使用记事本书写。上一篇博客中我们得到了经典TOP100
的电影信息,我们将其信息写入到Markdown
文件中,使其更好的可视化。因为没有将其转为html
文件,所以在这次代码中就没有使用到markdown
模块,而是直接将其写入拓展名为*.md
的文本文件中。
完整代码
import requestsimport reimport 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': 'http://maoyan.com/board/4?offset=0'}def getPage(url): try: response = requests.get(url, headers=headers) # print(response.status_code) if response.status_code == 200: return response.text else: return None except Exception: return Nonedef getInfo(html): # 正则匹配出电影的索引、海报、电影名、主演、评分 pattern = re.compile( '<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': 'http://maoyan.com' + 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 = 'http://maoyan.com/board/4?offset=' + str(num) html = getPage(url) for item in getInfo(html): # print(item) writeMarkdown(item)
运行效果
除此之外,我将生成的Markdown
文件导入到了我的CSDN
博客中【链接】
阅读全文
0 0
- Python爬虫(三):爬取猫眼电影网经典电影TOP100信息并存入本地Markdown文件(下)
- Python爬虫(三):爬取猫眼电影网经典电影TOP100信息并存入本地Markdown文件(上)
- 爬取猫眼电影网经典电影TOP100信息Markdown效果展示
- Python爬虫-爬取猫眼电影Top100榜单
- 【爬虫】爬取猫眼电影top100
- Python爬取猫眼电影TOP100
- 猫眼电影TOP100爬取
- 猫眼电影TOP100爬取
- 爬取猫眼top100电影并存储在本地csv文件中
- python 爬虫抓取猫眼电影 top100 源码
- 爬取猫眼电影榜单Top100
- python正则表达式简单爬虫入门+案例(爬取猫眼电影TOP榜)
- 初步运用多进程,利用正则表达式,爬取猫眼电影top100排行榜,储存到本地
- python抓取猫眼电影top100
- 三种方法抓取猫眼电影top100信息
- Requests+正则表达式爬取猫眼电影top100
- 爬取猫眼top100电影并存储在mysql中
- python 爬虫学习三(Scrapy 实战,豆瓣爬取电影信息)
- linux下使用Bundler + CMVS-PMVS进行三维重建
- python3的map函数显示问题
- vue 将数据保存到vuex中
- HTTP请求的GET与POST 方式的区别
- C++11中std::unique_lock的使用
- Python爬虫(三):爬取猫眼电影网经典电影TOP100信息并存入本地Markdown文件(下)
- linux系统管理学习笔记1-初始linux
- hdoj-2212DFS
- 教程篇(5.4) NSE4 19. 证书 ❀ 飞塔 (Fortinet) 网络安全专家
- Hadoop知识梳理
- 白话Lucene原理
- 中文分词综述
- L2-020. 功夫传人
- Angular学习(一)