Python3爬虫——爬取猫眼电影排行
一.爬取猫眼电影排行
目标:提取猫眼电影TOP100的电影排名、名称、主演、上映时间、评分、海报链接。
URL:https://maoyan.com/board/4
保存:JSON
# 版本:Python3
# 目标:提取猫眼电影TOP100的电影影名、主演、上映时间、评分、海报链接。
# URL:https://maoyan.com/board/4
# 保存:JSONimport json
import requests
from requests.exceptions import RequestException
import re
import time# 抓取首页,添加headers避免网站对爬虫的限制
def get_one_page(url):try:headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Safari/537.36'}response = requests.get(url,headers=headers)if response.status_code == 200:return response.textreturn Noneexcept RequestException:return None# 通过正则表达式提取内容,处理匹配结果,遍历提取结果并生成字典
def parse_one_page(html):pattern = re.compile('<dd>.*?board-index.*?>(\d+)</i>.*?data-src="(.*?)".*?name"><a'+ '.*?>(.*?)</a>.*?star">(.*?)</p>.*?releasetime">(.*?)</p>'+ '.*?integer">(.*?)</i>.*?fraction">(.*?)</i>.*?</dd>', re.S)items = re.findall(pattern,html)for item in items:yield {'排名':item[0],'海报链接':item[1],'影名':item[2],'主演':item[3].strip()[3:],'上映时间':item[4].strip()[5:],'评分':item[5]+item[6]}# 将结果写入文件,通过JSON库的dumps()方法实现字典的序列化
def write_to_file(content):with open('猫眼排名.txt','a',encoding='utf-8') as f:f.write(json.dumps(content,ensure_ascii=False) + '\n')# 分页爬取,offset为偏移量,构造URL进行爬取
def main(offset):url = 'https://maoyan.com/board/4?offset=' + str(offset)html = get_one_page(url)for item in parse_one_page(html):print(item)write_to_file(item)if __name__ == '__main__':for i in range(10):main(offset=i*10)time.sleep(1)
注意:在看网页源代码写正则表达式的时候,不要在Elements选项中直接查看,因为这里的源码可能经过了JavaScript操作与原始请求不同,而是要从Network选项卡部分查看原始请求得到的源码。
二.运行结果
程序运行的部分结果如下:
Python3爬虫——爬取猫眼电影排行相关推荐
- 【崔庆才教材】《Python3网络爬虫开发实战》3.4爬取猫眼电影排行代码更正(绕过美团验证码)
前情提要 最近有七八个小伙伴私信问我说崔大神的<Python3网络爬虫开发实战>教材中 "3.4爬取猫眼电影排行" 一节的代码目前不能用. 首先附上崔大神的github ...
- 记第一天使用node做爬虫——爬取猫眼电影票房总榜以及指定电影的豆瓣评论前200条
首先,我是一个做前端的应届生,今天朋友想让我帮忙爬取猫眼电影票房总榜的数据,但是我之前一点都没接触过爬虫,但我还是说:okk,我试试: 然后试试就逝世,各种坑接踵而来: 提前声明:这篇文章暂时只是获取 ...
- Python3编写网络爬虫04-爬取猫眼电影排行实例
利用requests库和正则表达式 抓取猫眼电影TOP100 (requests比urllib使用更方便,由于没有学习HTML系统解析库 选用re) 1.目标 抓取电影名称 时间 评分 图片等 url ...
- Python实战之如何爬取猫眼电影排行?本文详解
本节中,我们利用requests库和正则表达式来抓取猫眼电影TOP100的相关内容.requests比urllib使用更加方便,而且目前我们还没有系统学习HTML解析库,所以这里就选用正则表达式来作为 ...
- 爬取猫眼电影排行——第一版
要求 提取出猫眼电影的top100的电影名称.时间.评分图片等信息,提取的URL链接为:https://maoyan.com/board/4 获取的信息需要以文件的形式保存下来 思路 流程图如下所示: ...
- Python爬虫爬取猫眼电影风语咒影评评论信息
风语咒作为扛起国漫崛起的又一国漫之作,爬取风语咒猫眼的电影评论数据,以便对其评论做之后的数据分析. 此次demo的流程图如下: 一.找到猫眼电影中风语咒影评得json数据: l 找出url后,往下滚动 ...
- 爬虫爬取豆瓣电影排行,保存到excel和SQLite
# -*- coding = utf-8 -*- # @Time : 2021/11/18 19:54 # @Author : Vvfrom bs4 import BeautifulSoup # 网页 ...
- 使用正则表达式爬虫抓取猫眼电影排行Top100
目标站点分析 分析网址 首页 https://maoyan.com/ 点击榜单 https://maoyan.com/board 点击Top100 https://maoyan.com/board/4 ...
- python爬取付费电影思路_python3爬虫爬取猫眼电影TOP100(含详细爬取思路)
待爬取的网页地址为https://maoyan.com/board/4,本次以requests.BeautifulSoup css selector为路线进行爬取,最终目的是把影片排名.图片.名称.演 ...
最新文章
- 少儿编程python教材_少儿编程|Python环境安装
- JVM中垃圾收集算法
- JDK源码分析-TreeMap(1)
- Django创建项目的命令
- 深入理解Python中的yield和send
- Python学习之路--Day5
- 代码设置环境变量QProcess类
- 淘宝购物流程图 基本流和备选流以及测试用例
- 前后端分离的项目部署到tomcat_阿里聚石塔部署前后端分离项目
- 解决 winedit 打开tex文件 reading error
- 程序猿郭小喵过去的大学故事,致迷茫的你我
- linux版高德导航软件下载,高德导航2017
- SSL/TLS部署最佳实践
- android 动画无缝滚动,CSS3动画之无缝滚动
- Python入门基础总结笔记——正则表达式
- 虚地址到实地址的翻译过程
- WAIC 2020 微软论坛精彩全回顾!
- Python入门(一) —— 编程基础
- GPS 点可视化(英文地图打点,热力图,测距)
- 当excel不够用时,如何利用Access进行数据分析?