具体猫眼数据(电影详情数据、演员详情数据)参考这篇博客:如何爬取猫眼全部信息(电影信息、演员信息)

ubuntu环境下mitmproxy的安装配置详见:ubuntu环境下使用mitmproxy代理服务器

根据以上的连接,可以成功配置mitmproxy。

接下来,我们就要使用mitmproxy来拦截修改请求。由于猫眼使用的是对webdriver标示进行检测,所以我们可以拦截修改这个标示。拦截配置代码如下,按代码所示,如果拦截成功,会输出100个*的提示

proxy.py

def response(flow):if 'webdriver' in flow.response.text:print('*' * 100)print('find web_driver key')flow.response.text = flow.response.text.replace("webdriver", "fuck_that_1")if 'Webdriver' in flow.response.text:print('*' * 100)print('find web_driver key')flow.response.text = flow.response.text.replace("Webdriver", "fuck_that_2")if 'WEBDRIVER' in flow.response.text:print('*' * 100)print('find web_driver key')flow.response.text = flow.response.text.replace("WEBDRIVER", "fuck_that_3")

先在该py文件文件夹内终端运行

mitmdump -s proxys.py

此时mitmproxy会按照proxys中规定的配置拦截修改wendriver。注意!!!运行该拦截默认端口为8080。所以为了减少mitmproxy的工作量,我关闭了电脑的手动代理配置,即电脑按照正常的方式上网,正常的流量不让他们经过mitmproxy,而是在运行爬虫的时候让爬虫代码走这个8080端口代理。详见如下:

from selenium import webdriver
from selenium.webdriver import ChromeOptions
from lxml import etree
import requests
import html
import reoption = webdriver.ChromeOptions()
PROXY = "127.0.0.1:8080"
option.add_argument('--proxy-server=%s'%PROXY)
option.add_experimental_option('excludeSwitches', ['enable-automation'])
#打开浏览器
brower = webdriver.Chrome(options = option)
#让浏览器对指定url发起访问
brower.get('https://maoyan.com/films/1190122')#获取浏览器当前打开页面的页面源码数据(可见即可得)
page_text = brower.page_source
#print(page_text)
if "验证中心" in page_text:print("美团验证")
else:tree = etree.HTML(page_text)score = tree.xpath('//div[@class="movie-index-content score normal-score"]/span[1]/span[1]/text()')[0]ASCll = str(score)utfs = str(ASCll.encode('unicode_escape')).replace("b","").replace("'","").replace("\\\\u",";&#x").split('.')unicode = utfs[0][1:]+";."+utfs[1][1:]+";"print(unicode)

接下来,我们运行如上代码,proxys.py代码运行终端部分结果如下,可见拦截修改成功。

上面爬取猫眼电影详情信息的代码如下,如下信息为评分,直接爬去由于编码的缘故出现乱码,我将其进行unicode编码,以便之后进行字体解密。

具体猫眼数据(电影详情数据、演员详情数据)参考这篇博客:如何爬取猫眼全部信息(电影信息、演员信息)

使用selenium爬取猫眼,使用mitmproxy过美团检测相关推荐

  1. 爬取猫眼电影top100

    2020.12.3爬取猫眼电影的心得 一.遇见的问题1 首先在使用正则表达式的时候,使用并不是很熟练,根据某些大神的操作去模仿他的书写规范,编译之后出现获取不到数据的现象. 根据模仿来的书写规范之后, ...

  2. 2020-10-18 今天来说说如何爬取猫眼上的电影信息

    今天来说说如何爬取猫眼上的电影信息 最近小编试图使用requests+BeautifulSoup取去抓取猫眼上的电影信息,但尝试一番后,发现输出的电影评分.评分人数和票房都是乱码.案例见下面代码.之后 ...

  3. python爬取电影评分_用Python爬取猫眼上的top100评分电影

    代码如下: # 注意encoding = 'utf-8'和ensure_ascii = False,不写的话不能输出汉字 import requests from requests.exception ...

  4. 爬虫之selenium爬取斗鱼网站

    爬虫之selenium爬取斗鱼网站 示例代码: from selenium import webdriver import timeclass Douyu(object):def __init__(s ...

  5. Php使用selenium爬虫,selenium,python爬虫_使用selenium爬取网站时输出结果不正确,selenium,python爬虫 - phpStudy...

    使用selenium爬取网站时输出结果不正确 网站链接:http://www.ncbi.nlm.nih.gov/pubmed?term=(%222013%22%5BDate%20-%20Publica ...

  6. [Python3网络爬虫开发实战] 7-动态渲染页面爬取-4-使用Selenium爬取淘宝商品

    在前一章中,我们已经成功尝试分析Ajax来抓取相关数据,但是并不是所有页面都可以通过分析Ajax来完成抓取.比如,淘宝,它的整个页面数据确实也是通过Ajax获取的,但是这些Ajax接口参数比较复杂,可 ...

  7. python爬虫,爬取猫眼电影1(正则表达式)

    本文用正则.xpath.beautifulsoup.css.pyquery几种不同的方式,爬取猫眼电影.只是记录过程.比较乱. 猫眼电影现在也添加了一些反爬虫机制,如果直接用requests可能会40 ...

  8. Crawler:基于requests库+json库+40行代码实现爬取猫眼榜单TOP100榜电影名称主要信息

    Crawler:基于requests库+json库+40行代码实现爬取猫眼榜单TOP100榜电影名称主要信息 目录 输出结果 实现代码 输出结果 实现代码 # -*- coding: utf-8 -* ...

  9. 利用Selenium爬取淘宝商品信息

    文章来源:公众号-智能化IT系统. 一.  Selenium和PhantomJS介绍 Selenium是一个用于Web应用程序测试的工具,Selenium直接运行在浏览器中,就像真正的用户在操作一样. ...

最新文章

  1. Scanpy(一)AnnData数据结构与一些API用法介绍
  2. QT 的信号与槽机制介绍
  3. 成功解决gensim\utils.py:1209: UserWarning: detected Windows; aliasing chunkize to chunkize_serial warn
  4. centos进入单用户模式
  5. XHTML、HTML4,HTML5 之间的区别
  6. Prism for WPF 搭建一个简单的模块化开发框架
  7. 查看mysql字段的编码_MySQL查看和修改字符编码的实现方法
  8. 计算机学院足球队 英语怎么说,计算机学院举办2018届毕业生足球赛
  9. 计算机组成相关论文,计算机组成与结构课程论文.docx
  10. Tomcat整体介绍
  11. 【华为云技术分享】使用Python连接Kerberos的Presto
  12. 【COCOS2D-HTML5 开发之一】新建HTML5项目及简单阐述与COCOS2D/X引擎关系
  13. 缺少网卡固件导致的网络服务异常,Can‘t load firmware file bnx2x/bnx2x-e2-7.13.15.0.fw
  14. 电脑监控软件应该怎样安装?安装简单吗?
  15. 谷歌插件文档 镜像_最好的Google文档插件
  16. win10 激活工具 Re-LoaderByR@1n.exe
  17. 大华DSS视频综合应用平台webservice接口使用手册-php测试用例
  18. 如何将mp4转换成gif?教你一招实现视频转gif高清转换
  19. 基于fpga的FlexRay总线设计
  20. Java学习笔记(九)抽象类

热门文章

  1. 一个西二旗码农的自白
  2. 云仓是如何运行的?如何一件代发的?
  3. Kotlin SQLite URL转义字符(Escape)(一)
  4. android系统代码行数,鸿蒙用460万行的代码量,实现安卓1525万行代码实现的所有功能...
  5. UESToj 1057 秋实大哥与花 ( 线段树
  6. 【Emmet 的使用手册(知识点超全版本)】
  7. 软件测试用例 单元测试,软件单元测试的测试用例编写方法
  8. 【Inter集显 GTX1650】解决 Windows 10 连接 HDMI 外接显示器黑屏状况小结
  9. 从技法到兵法:今天为何必须关注物理世界的企业智能?
  10. 光敏二极管和光敏三极管的原理、区别、辨别以及应用电路