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榜相关推荐

  1. 猫眼html源码,50 行代码教你爬取猫眼电影 TOP100 榜所有信息

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 今天,手把手教你入门 Python 爬虫,爬取猫眼电影 TOP100 榜信息. 作者 | 丁 ...

  2. 50 行代码教你爬取猫眼电影 TOP100 榜所有信息

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 今天,手把手教你入门 Python 爬虫,爬取猫眼电影 TOP100 榜信息. 作者 | 丁 ...

  3. 爬取猫眼电影TOP100榜单

    爬取猫眼电影Top100榜单 分析网页 内容提取 前提:会基础的python3以及requests库,正则等. 分析网页 top100榜单网址为https://maoyan.com/board/4,通 ...

  4. python爬电影_Python爬虫项目--爬取猫眼电影Top100榜

    本次抓取猫眼电影Top100榜所用到的知识点: 1. python requests库 2. 正则表达式 3. csv模块 4. 多进程 正文 目标站点分析 通过对目标站点的分析, 来确定网页结构, ...

  5. Python爬虫实战Pro | (1) 爬取猫眼电影Top100榜单

    在本篇博客中,我们将使用requests+正则表达式来爬取猫眼电影官网的TOP100电影榜单,获取每部电影的序号,片名,主演,上映日期,评分和封面等内容. 之前在Python爬虫实战(1)中我们曾爬取 ...

  6. Requests+正则表达式爬取猫眼电影(TOP100榜)

    猫眼电影网址:www.maoyan.com 前言:网上一些大神已经对猫眼电影进行过爬取,所用的方法也是各有其优,最终目的是把影片排名.图片.名称.主要演员.上映时间与评分提取出来并保存到文件或者数据库 ...

  7. python爬取猫眼电影数据

    每天一点点,记录学习每一步 近期爬虫项目: 1:python 爬取菜鸟教程python100题,百度贴吧图片反爬虫下载,批量下载 2:python爬虫爬取百度贴吧图片,requests方法 3:pyt ...

  8. 利用正则表达式爬取猫眼电影TOP100信息

    本文利用requests库和正则表达式爬取了猫眼电影TOP100电影信息,并将电影封面和标题.主演等文字信息保存在了本地.本文完整代码链接:https://github.com/iapcoder/Ma ...

  9. python爬虫猫眼电影票房_python爬取猫眼电影top100排行榜

    爬取猫眼电影TOP100(http://maoyan.com/board/4?offset=90) 1). 爬取内容: 电影名称,主演, 上映时间,图片url地址保存到mariadb数据库中; 2). ...

最新文章

  1. 杨桃32开发版最小核心板和底板接口定义以及各io口功能
  2. jquery 滚动条位置的
  3. java:自定义数据库连接池
  4. 计算机的特点 分类及其应用,2016计算机知识:计算机的特点、分类及其应用(1)...
  5. ios 7.1.2 拍照声音
  6. Caddy – 方便够用的 HTTPS server 新手教程
  7. java类与对象实验报告心得体会_java实验报告心得体会
  8. 如何去掉论坛后缀 “power by discuz!
  9. 谈谈订单号和流水号的关系
  10. 织梦栏目地址使用栏目名称首字母
  11. 量子纠缠:万物皆有默契
  12. 【定义】三角形行列式和对角行列式
  13. 专升本英语——语法知识——高频语法——第六节 名词性从句(主语从句-表语从句-同位语从句-宾语从句)【学习笔记】
  14. 音频设置 audio
  15. c语言输出三门课程平均值,实验作业一 - 先奕宣202005018110的个人空间 - OSCHINA - 中文开源技术交流社区...
  16. CentOS 消亡?不怕!替代发行版 AlmaLinux 获得商业支持
  17. PowerBI-时间智能函数-LAST系列
  18. 笔记:springboot-admin 整合spring security应用注册失败问题
  19. 24. OP-TEE驱动篇----驱动编译,加载和初始化(一)
  20. matlab python 股票,股票行情数据获取-Python获取股票数据?

热门文章

  1. 在线Markdown 编辑器 作业部落 zybuluo
  2. 求职招聘人才网站模板
  3. NKOJ 4974 「NOIP模拟」乌鸦坐飞机【倍增优化DP】
  4. 射频脉冲功放参数简记
  5. 【单例模式】—— 每天一点小知识
  6. python中星号_Python中的星号符号
  7. 树莓派连接双目摄像头教程(详)
  8. gauge vacuum_vacuum-gauge
  9. 【再谈软件生存周期】
  10. 图的拓扑排序(动图)