人力资源学python有意义吗-python爬虫抖音 个人资料 仅供学习参考 切勿用于商业...

本文仅供学习参考 切勿用于商业

本次爬取使用fiddler+模拟器(下载抖音APP)+pycharm

1. 下载最新版本的fiddler(自行百度下载),以及相关配置

1627148-20190807145840478-1187443341.png

1.1.依次点击,菜单栏-Tools-Options-HTTPS,如图1红框打钩,HTTPS旁边Connections配置,如图2红框打钩

1627148-20190807145851435-405471657.png1627148-20190807145904285-66124298.png

1.2.再次点击HTTPS栏,点击Actions选择第二个…to Desktop这个选项,发送证书到桌面(方便找到,模拟器中需要安装)

1627148-20190807145918155-13098391.png

2.下载安装模拟器,我用的是夜神模拟器

自行修改页面或内存等。。。。

1627148-20190807145931348-1657654198.png

2.1.回到电脑桌面, 找到刚才保存的证书,拖动到模拟器,看一下下图红框中的路径。

1627148-20190807145944661-1745181104.png

2.2. 返回模拟器桌面,打开设置,下拉找到进入-安全-选择从SD卡安装-如下图所示,找到证书进行安装,提示的随便输入。

1627148-20190807145956889-191863669.png1627148-20190807150010073-2013014083.png1627148-20190807150023662-1858284282.png1627148-20190807150037106-1351121571.png1627148-20190807150050595-1433650071.png

2.3.返回到模拟器设置, 找到WiFi,进去,左键长按,修改网络,如图修改,本机ip查询,cmd输入ipconfig,IPv4后边的就是本机IP

1627148-20190807150103199-475316171.png1627148-20190807150115261-1569609756.png1627148-20190807150128612-1719386239.png1627148-20190807150145348-504861843.png

3. 模拟器应用市场中下载抖音App,到此配置已完成,重启模拟器,之后测试fiddler是否能抓到请求包。

4.测试能抓到请求。然后分析请求。

1627148-20190807150200238-2049009463.png

5,本文爬取的是 '抖音昵称', '抖音ID', '个人简介' 因此查看到 抓包返回的是图2的数据

1627148-20190807150217029-1743515844.png1627148-20190807150229602-945262330.png

6.得到的数据不可能一个一个的复制保存到本地,因此可使用fiddler自行编写脚本保存数据, 走起,自己去添加一个,如图3,添加的脚本 自动保存相应数据到本地json文件

1627148-20190807150245182-1189351553.png1627148-20190807150258072-1260751716.png1627148-20190807150315429-338894715.png

7.以下是fiddler脚本,根据需要自行修改

if (oSession.uriContains("https://aweme-eagle-hl.snssdk.com/aweme/v1/user/")){

//上边的网址是你需要保存数据的网址开头的部分,网站修改的话需要及时修改url

var strBody=oSession.GetResponseBodyAsString();

var sps = oSession.PathAndQuery.slice(-64,-54);

//FiddlerObject.alert(sps)

var filename = "E:/此处是本地路径" + "/" + sps + ".json";

var curDate = new Date();

var sw : System.IO.StreamWriter;

if (System.IO.File.Exists(filename)){

sw = System.IO.File.AppendText(filename);

sw.Write(strBody);

}

else{

sw = System.IO.File.CreateText(filename);

sw.Write(strBody);

}

sw.Close();

sw.Dispose();

}

8.在模拟器抖音中, 不断的去往下翻,往右翻, 查看用户页,fiddler编写的脚本就自动保存了你需要的数据。如图

1627148-20190807150333311-1926936212.png

9. 那么问题来了 当想大量的爬取数据时, 不可能人工翻页,所以这时候用到了模拟器自带的操作助手功能。

9.1,自己动手录取一段,你想让模拟器不断循环的操作,设置循环次数,往下翻,记得保存。

1627148-20190807150348224-1733604461.png1627148-20190807150402598-1012175210.png1627148-20190807150418160-243822940.png

9.2. 点击播放按钮,模拟器就会自动循环你录制的操作,一直往下翻页,fiddler,会不断有新的相应被抓到,本地的json数据越来越多。

=======================================================

基本操作搞完了,那么拿到的json文件如何解析呢,这时候敲代码去吧。

=======================================================

10。说一下思路,具体代码不做展示。

10.1,从本地去到json文件,放到一个列表中,循环列表中的json

10.2 json.load()读取json文件content

10.3 取json中你所需的资料。

10.4 存储,我存的excel文件,出现了一些问题,这里我说一下。

# 存储时特殊字符会报错,此处用codecs存储,存储的csv会出现编码乱的问题,解决办法,右键用记事本打开保存的csv文件,另存为一下,编码格式选utf-8.

with codecs.open("./douyin/douyin.csv", "a+", encoding='utf-8') as f:

writer = csv.writer(f, dialect="excel")

writer.writerow(l)

10.5 爬到的数据,会有从重复的,去重很简单,这里就不说了。

展示一下我爬到的数据

1627148-20190807150431575-79093595.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值