Python爬取猫眼电影TOP100榜
Python爬取猫眼电影TOP100榜
兴趣点:
这个没什么特别的兴趣,只是单纯爬猫眼练手的人太多了,所以我也打算加入他们,对猫眼员工说一声不好意思了,哈哈哈!
爬取网址:
传送门:https://maoyan.com/board/4
爬虫大体思路及方法:
大体思路:
(1)TOP100榜共10页,每页10部电影,他们的文本和电影专页链接就是我们的目标
(2)我们先把这10页网页的URL链接获取出来,放到一个列表里
(3)利用循环读取每个网页中的每个电影的相关信息(姓名,主演,上映时间,链接),读入一个列表,直接写入txt文件
方法:
(1)页面获取方法:getHTMLText(url)
(2)把10页网页的URL存入列表:fillList(url,pagelist)
(3)获取并保存相关信息:getAndSave(pagelist,path)
参数解读:
(1)pagelist:存储10页网页的URL的列表
(2)path:本地存储路径
部分细节讲解:
(1)我这两天可能是爬猫眼的次数有点多了,IP被限制了,访问会弹出“美团验证”,这样我的爬虫就访问不到目标网页了(;′⌒`),网上找到的方法就是在headers里加一个Cookie:
(2)页面规律:可以发现第一页是?offset=0
真实url获取:
url = "https://maoyan.com/board/4?offset="
for i in range(10): #共10页new_url = url + "{}".format(i*10)
(3)txt文件打开我放在了循环的外面,感觉放在循环里一直开关怪怪的……,记得读取方式是“a”,否则每次 write 都会覆盖之前内容,还有——记得关闭文件
(4)每个电影区域规律:dd标签
(5)再次强调字符串的去空格:str.strip()
完整代码:
import requests
import re
import os
from bs4 import BeautifulSoupdef getHTMLText(url):try:kv = {"user-agent":"Mozilla/5.0","Cookie": "__mta=150238857.1602895907970.1602895907970.1602895907970.1; uuid_n_v=v1; uuid=EF37CF40101211EBA49537871E07CB9B551E0E6AAAD0496CB9577D92C804414F; _csrf=48c1a11d90da9b55c99273c2bbc35e938aec46d79119cc219fd139828fd29bde; Hm_lvt_703e94591e87be68cc8da0da7cbd0be2=1602895908; Hm_lpvt_703e94591e87be68cc8da0da7cbd0be2=1602895908; _lxsdk_cuid=175340a8c37c8-02b1af385c3412-5373e62-144000-175340a8c373c; _lxsdk=EF37CF40101211EBA49537871E07CB9B551E0E6AAAD0496CB9577D92C804414F; _lxsdk_s=175340a8c39-48c-9f6-8fe%7C%7C2"}r = requests.get(url,headers = kv)r.raise_for_status()r.encoding = r.apparent_encodingreturn r.textexcept:print("getHTMLText失败!")return ""def fillList(url,pagelist):for i in range(10):new_url = url + "{}".format(i*10)pagelist.append(new_url)def getAndSave(pagelist,path):with open(path,'a',encoding = 'utf-8') as f:for page in pagelist:html = getHTMLText(page)soup = BeautifulSoup(html,"html.parser")for dd in soup.find_all('dd'):plist = []for p in dd.find_all('p'):plist.append(p.string)f.write(dd.i.string + '\t' + plist[0].strip() + '\t' + plist[1].strip() + '\t' + plist[2].strip() + '\t' + 'http://maoyan.com' + dd.p.a['href'] + '\n')print(dd.i.string + "\t" + plist[0].strip())f.close()def main():pagelist = []url = "https://maoyan.com/board/4?offset="path = "猫眼TOP100.txt"fillList(url,pagelist)print("fill成功")getAndSave(pagelist,path)print("save成功")main()
运行状态与结果:
Python爬取猫眼电影TOP100榜相关推荐
- 猫眼html源码,50 行代码教你爬取猫眼电影 TOP100 榜所有信息
点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 今天,手把手教你入门 Python 爬虫,爬取猫眼电影 TOP100 榜信息. 作者 | 丁 ...
- 50 行代码教你爬取猫眼电影 TOP100 榜所有信息
点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 今天,手把手教你入门 Python 爬虫,爬取猫眼电影 TOP100 榜信息. 作者 | 丁 ...
- 爬取猫眼电影TOP100榜单
爬取猫眼电影Top100榜单 分析网页 内容提取 前提:会基础的python3以及requests库,正则等. 分析网页 top100榜单网址为https://maoyan.com/board/4,通 ...
- python爬电影_Python爬虫项目--爬取猫眼电影Top100榜
本次抓取猫眼电影Top100榜所用到的知识点: 1. python requests库 2. 正则表达式 3. csv模块 4. 多进程 正文 目标站点分析 通过对目标站点的分析, 来确定网页结构, ...
- Python爬虫实战Pro | (1) 爬取猫眼电影Top100榜单
在本篇博客中,我们将使用requests+正则表达式来爬取猫眼电影官网的TOP100电影榜单,获取每部电影的序号,片名,主演,上映日期,评分和封面等内容. 之前在Python爬虫实战(1)中我们曾爬取 ...
- Requests+正则表达式爬取猫眼电影(TOP100榜)
猫眼电影网址:www.maoyan.com 前言:网上一些大神已经对猫眼电影进行过爬取,所用的方法也是各有其优,最终目的是把影片排名.图片.名称.主要演员.上映时间与评分提取出来并保存到文件或者数据库 ...
- python爬取猫眼电影数据
每天一点点,记录学习每一步 近期爬虫项目: 1:python 爬取菜鸟教程python100题,百度贴吧图片反爬虫下载,批量下载 2:python爬虫爬取百度贴吧图片,requests方法 3:pyt ...
- 利用正则表达式爬取猫眼电影TOP100信息
本文利用requests库和正则表达式爬取了猫眼电影TOP100电影信息,并将电影封面和标题.主演等文字信息保存在了本地.本文完整代码链接:https://github.com/iapcoder/Ma ...
- python爬虫猫眼电影票房_python爬取猫眼电影top100排行榜
爬取猫眼电影TOP100(http://maoyan.com/board/4?offset=90) 1). 爬取内容: 电影名称,主演, 上映时间,图片url地址保存到mariadb数据库中; 2). ...
最新文章
- 杨桃32开发版最小核心板和底板接口定义以及各io口功能
- jquery 滚动条位置的
- java:自定义数据库连接池
- 计算机的特点 分类及其应用,2016计算机知识:计算机的特点、分类及其应用(1)...
- ios 7.1.2 拍照声音
- Caddy – 方便够用的 HTTPS server 新手教程
- java类与对象实验报告心得体会_java实验报告心得体会
- 如何去掉论坛后缀 “power by discuz!
- 谈谈订单号和流水号的关系
- 织梦栏目地址使用栏目名称首字母
- 量子纠缠:万物皆有默契
- 【定义】三角形行列式和对角行列式
- 专升本英语——语法知识——高频语法——第六节 名词性从句(主语从句-表语从句-同位语从句-宾语从句)【学习笔记】
- 音频设置 audio
- c语言输出三门课程平均值,实验作业一 - 先奕宣202005018110的个人空间 - OSCHINA - 中文开源技术交流社区...
- CentOS 消亡?不怕!替代发行版 AlmaLinux 获得商业支持
- PowerBI-时间智能函数-LAST系列
- 笔记:springboot-admin 整合spring security应用注册失败问题
- 24. OP-TEE驱动篇----驱动编译,加载和初始化(一)
- matlab python 股票,股票行情数据获取-Python获取股票数据?