使用python爬虫爬取猫眼电影top100

import requests
import re
import csvif __name__=="__main__":headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3877.400 QQBrowser/10.8.4533.400','cookie': '_lxsdk_cuid=17d0f62debfc8-09e4fac62d84aa-3354417a-1fa400-17d0f62dec0c8; uuid_n_v=v1; uuid=582D8EA067CD11EC87FF41B58677579835E32572E21D4849B2F79FE6371BAFB4; _csrf=3be8f03db07ebdc616f0ab10704dca9c93c34a68200c6c288766bfb601fa768c; Hm_lvt_703e94591e87be68cc8da0da7cbd0be2=1640689219; _lxsdk=582D8EA067CD11EC87FF41B58677579835E32572E21D4849B2F79FE6371BAFB4; uid=747632158; uid.sig=GeqQIL9qRi6J9Wrytom7Z5gTRMQ; Hm_lpvt_703e94591e87be68cc8da0da7cbd0be2=1640695325; __mta=256733492.1636640677618.1640695323364.1640695325938.25; _lxsdk_s=17e00f5674b-4f9-d75-f66%7C%7C30'}url0 = 'https://www.maoyan.com'datapacket = []pattern = re.compile('<dd>.*?board-index.*?>(\d+)<.*?href="(.*?)".*?title="(.*?)"'+ '.*?star">[\\s]*(.*?)[\\n][\\s]*</p>.*?'+ 'releasetime">(.*?)</p>.*?integer">(.*?)</i>.*?'+ 'fraction">(.*?)</i>.*?</dd>', re.S)# 第1页网址https://maoyan.com/board/4?offset=0,第2页网址https://maoyan.com/board/4?offset=10,依次类推for i in range(0, 10):url = 'https://www.maoyan.com/board/4?offset=' + str(i * 10)# use threadresp = requests.get(url=url, headers=headers)html_data = resp.textif resp.url != url:print('\n')print(resp.url)print('\n' + 'Sorry, you have encountered the anti-crawl verification mechanism of maoyan eye website! Please hold down the Ctrl key to click on the above url for verification, re-run the program!')breakelse:items = re.findall(pattern, html_data)for item in items:url1 = url0 + item[1]resp = requests.get(url=url1, headers=headers)# Check if anti-crawl mechanism is encounteredif resp.url != url1:print(resp.url)print('Sorry, you have encountered the anti-crawl verification mechanism of maoyan eye website! Please hold down the Ctrl key to click on the above url for verification, re-run the program!')breakelse:html_data = resp.text# 获取电影类型(type)html = re.compile('<a.*?class="text-link.*?target="_blank">(.*?)</a>', re.S)types = re.findall(html, html_data)type = ''for i in types:type = i + type# 获取电影时长(duration)html = re.compile('<ul>.*?class="ellipsis">.*?class="ellipsis">(.*?)</li>', re.S)duration = re.findall(html, html_data)duration = duration[0].strip()[-5:]# 获取导演信息(director)html = re.compile('导演.*?<a.*?target="_blank".*?class="name">(.*?)</a>', re.S)director = re.findall(html, html_data)# 获取第一个导演信息(字符串格式)director = (director[0].strip())# 获取累计票房收入(income)html = re.compile('film-mbox.*?film-mbox-item.*?"mbox-name ".*?"mbox-name ">(.*?)</div>', re.S)income = re.findall(html, html_data)income = tuple(income)filmdata = (item[0],) + (item[2],) + (type,) + (director,) + (item[3][3:],) + (item[4][5:],) + (duration,) + (item[5] + item[6],) + incomedatapacket.append(list(filmdata))# 写入csv文件with open('./猫眼top100.csv', 'w', newline='', encoding='utf-8-sig') as csvfile:writer = csv.writer(csvfile)header = ['排序number', '片名title', '类型type', '导演director', '主演actors', '上映时间date', '片长duration', '评分rating','累计收入income(万元)']writer.writerow(header)writer.writerows(datapacket)print('\n\n' + '程序运行完毕,猫眼top100.csv文件存放在Python默认文件夹内。')

如果爬不下来,可以尝试更换一下cookie,然后再进行爬取

爬取猫眼top100并存入csv文件中相关推荐

  1. Scrapy爬取豆瓣图书详情存入CSV并导入MySQL

    目录 前言 一.新建爬虫工程 二.修改settings.py文件 三.编写items.py 四.编写pipelines.py 五.编写book.py 六.存储到MySQL 七.爬取结果 八.后言 前言 ...

  2. python爬虫:爬取猫眼TOP100榜的100部高分经典电影

    1.问题描述: 爬取猫眼TOP100榜的100部高分经典电影,并将数据存储到CSV文件中 2.思路分析: (1)目标网址:http://maoyan.com/board/4 (2)代码结构: (3) ...

  3. 小爬虫爬取小猫咪图片并存入本地文件夹

    小爬虫爬取小猫咪图片并存入本地文件夹 本人是安徽工业大学电气与信息工程学院研一学生,最近还不能开学真的是很糟心哦,由于自己比较笨吧,起步较晚还要忙着学习机器学习还有计算机视觉,但是总学这个感觉很闷也没 ...

  4. Python3爬取豆瓣图书Top250并存入csv文件中

    本文抓取豆瓣图书Top250中的相关资讯,可以练习对于网页结构的分析及提取. 下面先导入相关的包,并伪装成浏览器访问: import requests from lxml import etree i ...

  5. 用 Python selenium爬取股票新闻并存入mysql数据库中带翻页功能demo可下载

    用 Python selenium爬取实时股票新闻并存入mysql数据库中 1.分析需求 2.创建表 3.分析需要爬取的网页内容 4.python里面selenium进行爬虫操作 1.添加包 2.连接 ...

  6. python爬新闻并保存csv_用python爬取内容怎么存入 csv 文件中

    小白一个,爬取豆瓣电影250作为练习,想把爬取的内容用csv存储,想存但是不知道怎么自己原来代码拼接在一起. ps:非伸手党,查阅了官方文档,也做了csv读写的练习,就是拼不到一起,不知道该怎么改.求 ...

  7. 爬取猫眼top100的电影图片,名称,时间,评分等信息

    一.准备工作 1.安装python 首先,下载Python3,这里使用Python3.7.1版本,64位. 地址链接:https://www.python.org/downloads/ 双击打开,进行 ...

  8. 爬取猫眼 TOP100 电影并以 excel 格式存储

    爬取目标 本文将提取猫眼电影 TOP100 排行榜的电影名称.时间.评分.图片等信息,URL 为http://maoyan.com/board/4,提取的结果我们以 excel 格式保存下来. 准备工 ...

  9. Scrapy爬取贝壳网并存入csv

    一.分析目标站点 本文以爬取宁波地区的房产信息为例 1.宁波整个市页面 宁波地区的网址都是以上面的格式,再加上各个区的拼音,即可进入各个区的网页. 各个区的名称: areas = {'海曙区': 'h ...

最新文章

  1. PTA基础编程题目集-6-3 简单求和
  2. c语言程序设计章节作业网上,C语言程序设计第17章在线测试
  3. 彻底搞清楚浏览器渲染过程
  4. 【LeetCode笔记】4. 寻找两个正序数组的中位数(Java、二分、递归)
  5. Exceptions, Catch, and Throw(Chapter 10 of Programming Ruby)
  6. sql数据库批量插入
  7. [Flash开发笔记] List控件--删除指定label或data的项
  8. JavaScript表单验证示例
  9. 微信小程序弹窗(提示框和确认框)
  10. Python 实现电信天翼网关光猫自动重启
  11. bne 1b 汇编含义
  12. 防封链接,无投诉按钮链接,地推链接制作,活动链接制作,防封无投诉按钮链接制作方法。
  13. Android系统移植与调试之-------build.prop文件详细赏析
  14. 怎么使excel表只显示一部分分页内容
  15. web页面下实现文字环绕图片效果
  16. 基因算法解析、设计,以解决背包问题和旅行商问题为例
  17. 《Uncertainty-aware Joint Salient Object and Camouflaged Object Detection》—CVPR2021—SOD+COD
  18. 端午节祝福的html,端午节祝福语
  19. IE浏览器不用迅雷下载
  20. jquery 隐藏与显示tr标签

热门文章

  1. Winfrom下的socket TCP基础通信
  2. 腾讯云服务器搭建ftp
  3. 前端面试题 ---- html篇
  4. OpenCV中使用SVM分类器
  5. 模板小程序或定制小程序有什么区别?
  6. 曲线积分与曲面积分的计算机应用,谈曲线积分与曲面积分的运算
  7. 提高前端开发质量和效率的脚手架和工具套件 - Uix Kit
  8. 区分按字寻址和按字节寻址
  9. js读取解析JSON类型数据
  10. 运算符重载之友元运算符重载