使用mitmproxy做今日头条爬虫链接分析

import pickle

import chardet
from mitmproxy import ctx
from pprint import pprint

heads_file = ‘header.txt‘

body_file = ‘body.txt‘

#mitmdump -s test.py
# Dalvik/2.1.0 (Linux; U; Android 8.1.0; MI 8 MIUI/8.8.31)
def request(flow):
     #只是修改请求浏览器请求头为MitmProxy
     # flow.request.headers[‘User-Agent‘] = ‘Mozilla/5.0 (Linux; U; Android 6.0.1; zh-cn; MI 5s Build/MXB48T) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.146 Mobile Safari/537.36 XiaoMi/MiuiBrowser/8.7.1‘
     # ctx.log.warn(str(flow.request.url))
     # ctx.log.info(str(flow.request.headers))
     # pprint(vars(flow.request))
     # ctx.log.error(str(dir(flow.request)))
     # ctx.log.info("data.content:" + str(flow.request.data.content))
     # ctx.log.info("data:" + str(dir(flow.request.data)))
     # ctx.log.info("content:" + str(flow.request.content))
     # ctx.log.info(flow.request.headers[‘User-Agent‘])
     url = str(flow.request.url)
     ctx.log.info("url:" + url)
     # if ‘pstatp.com/article‘ in url or ‘snssdk.com/article‘ in url or ‘snssdk.com/api/search‘ in url:
     #      file = open(heads_file, encoding="utf-8", mode="a")
     #      file.write( url + "\r")
     #      file.close()
     fileother = open("other.txt", encoding="utf-8", mode="a")
     fileother.write(url + "\r")
     fileother.close()
     # with open(heads_file, ‘a‘) as handle:
     #      pickle.dump(flow.request.url, handle)

# def response(flow):
#      response = flow.response
#      info = ctx.log.info
#      info(str(response.status_code))
#      info(str(response.headers))
#      info(str(response.cookies))
#      # info(str(response.encoding))
#      detRes = chardet.detect(response.content)  # 返回编码结果
#      charset = detRes["encoding"]
#      info(str(charset))
#      # text = response.content.decode(charset, "ignore")
#      if not charset:
#           charset = ‘utf-8‘
#      text = str(response.content,encoding=charset)
#      info(text)
#      file = open(body_file,encoding=charset,mode="a")
#      file.write(text)
#      file.close()
     # with open(body_file, ‘a‘) as handle:
     #      pickle.dump(text, handle)

原文地址:https://www.cnblogs.com/procedureMonkey/p/10320322.html

时间: 2024-10-09 12:23:40

使用mitmproxy做今日头条爬虫链接分析的相关文章

今日头条爬虫

今日头条是一个js动态加载的网站,尝试了两种方式爬取,一是页面直接提取,一是通过接口提取: version1:直接页面提取 #coding=utf-8 #今日头条 from lxml import etree import requests import urllib2,urllib def get_url(): url = 'https://www.toutiao.com/ch/news_hot/' global count try: headers = { 'Host': 'www.tout

今日头条开源项目 分析笔记1

1.InitApp==>项目的入口Application 1.1.继承了MultiDexApplication 超过65K方法的APP,会遇到65535的错误.原因就是为了支持比较大型的APP而产生. 参考文章:Android分包MultiDex原理详解. 1.2.在build.gradle中修改multiDexEnabled 然后记得在dependencies中加: implementation 'com.android.support:multidex:1.0.2' 1.3.用第三方库fac

张一鸣:做出“今日头条”的“程序猿”

四战四败后,第五次创业他做出“今日头条”.人家靠编辑整理新闻,他偏让代码推荐新闻. 作为程序员,张一鸣和一帮“码农”为“今日头条”写了上万行代码:作为CEO,他“发明”了一套工程师逻辑的公司运营规矩. “今日头条智能水平只能打30分” 员工们对张一鸣有个共识:一个没什么爱好的“码农宅男”. 张一鸣听了很委屈:我有爱好的,我的爱好就是获取信息! 自称“重度信息获取症”患者的张一鸣,初中时一周要读二三十份报纸.从本地报纸到<人民日报>,只要带字的他都不放过,连报纸中缝都会仔细看完.现在不管多忙,他

知乎上线“明日头条”,亮剑直指今日头条?

4月1日凌晨,知乎悄然上线了"资讯类内容",并对外宣称发布了"明日头条",意图向移动资讯开始发起进攻.来自知乎内部员工发布的<知乎重磅发布[明日头条],直接促使领结婚证免费>愚人文章中煞有介事地称:"知乎现在正式重磅发布新功能--明日头条,这个划时代新功能将颠覆性地为知乎用户带来全新的内容体验,通过高质量内容的聚合,知乎希望,给世界增加一点颜值." 知乎在这个时候突然推出的"明日头条",着实让人有些惊讶,难道知乎真

如何通过今日头条引精准流量,学完即用

我发现很多人都对今日头条引流比较感兴趣,每天都有人在微信上问我做今日头条引流的玩法,我也多多少少的回答了他们. 但是,头条规则改变太快,很多当前有效的玩法,没过多久就失效了.这里说的玩法,是指文章或视频上留微信号的方式.因为只有留了微信号,才能更好的去引流. 但是,除了留微信号之外,更重要的是内容的质量度,比如软文的质量度需要高,别让人家看出来是广告,再比如,视频的质量度,如果播放全程都是广告的话,肯定影响用户体验度.所以,留微信号是一方面,内容的质量度也是一方面. 对于我来说,头条的引流是分为

【Python3网络爬虫开发实战】 分析Ajax爬取今日头条街拍美图

前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:haoxuan10 本节中,我们以今日头条为例来尝试通过分析Ajax请求来抓取网页数据的方法.这次要抓取的目标是今日头条的街拍美图,抓取完成之后,将每组图片分文件夹下载到本地并保存下来. 准备工作在本节开始之前,请确保已经安装好requests库.如果没有安装,可以参考第1章.另外如果你对python的库不是很熟的话,建议先去小编的Python交流.裙 :一久武其而而流

Python的几个爬虫代码整理(网易云、微信、淘宝、今日头条)

整理了一下网易云歌曲评论抓取.分析好友信息抓取.淘宝宝贝抓取.今日头条美图抓取的一些代码 抓取网易云评论 进入歌曲界面: http://music.163.com/#/song?id=453185824 找到如下的数据源: 贴一段Lyrichu的代码: (运行环境为P2.7) # -*- coding: utf-8 -*-# @Time : 2017/3/28 8:46# @Author : Lyrichu# @Email : [email protected]# @File : NetClou

ajax分析-今日头条街拍美图抓取

我们知道,有时候直接利用requests请求得到的原始数据是无效的,因为很多时候,这样获取的一个网页的源代码很可能就几行,明显不是我们想要的东西,这个时候,我们就可以分析,这样的网页中是不是加入了ajax请求,即原始页面加载完成后,会再向服务器请求某个接口去获取数据,然后才被呈现到网上的. ajax并不是一门语言,而是一门技术,它可以在页面不被刷新的情况下,利用javascript进行数据交换,渲染网页进而呈现,我们平时用手机刷微博,往下拉就会出现加载的小圆圈,那个就是加入了ajax请求. 所以

芝麻HTTP:分析Ajax爬取今日头条街拍美图

本节中,我们以今日头条为例来尝试通过分析Ajax请求来抓取网页数据的方法.这次要抓取的目标是今日头条的街拍美图,抓取完成之后,将每组图片分文件夹下载到本地并保存下来. 1. 准备工作 在本节开始之前,请确保已经安装好requests库. 2.实战演练 首先,实现方法get_page()来加载单个Ajax请求的结果.其中唯一变化的参数就是offset,所以我们将它当作参数传递,实现如下: import requests from urllib.parse import urlencode def