聊聊在工作中的python爬虫_爬虫在工作中的运用

liftword5个月前 (02-21)技术文章51

最近做得爬虫相关的work较多、就此来聊聊关于python爬虫吧!爬虫一般分为垂直爬虫和通用爬虫

通用爬虫:比如我们常见的爬取新闻网站、各种论坛帖子、财经类信息等都是属于通用爬虫。

此类爬虫的特点是量大、简单,有规律可循。技术难点在于怎么样优雅得去适配需要提取的内容,以及翻页的逻辑。因为你不可能每一个详情页都去写一个匹配规则。

所以对于通用爬虫,我们更注重于它的框架层面上的东西。至于框架的考虑,爬虫调度逻辑。去重、翻页、解析、存储、失败重试、代理ip、数据清洗等。比较好用的框架我是推荐scrapy<Scrapy 2.6 documentation  Scrapy 2.6.1 documentation>。它适合高并发,而且功能多,也支持自己扩展功能等。是一个可以快速上手的,功能全面的框架!



至于垂直爬虫:

一般特点是一个应用一个爬虫,其中应用指的是app、一个网站等!难点在于与反爬虫做斗争,要破解其中的加密参数以及风控点

博主曾经做过简单的,也有加密比较复杂的,这里就举例说明比较难的吧。国内比较难的如淘宝、抖音、快手、小红书、大众点评等。其中抖音难点在于它的加密参数有很多,不仅如此还有防抓包,你用传统的xposed方式无法绕过。最新版, 需要使用frida hook的方式,去hook到网络关键点,才能继续抓包!无法抓包也就意味着后续工作无法进行。




当我们获取到想要的流量包以后,你又会发现X-GorgonX-Khronos 、X-Tyhon 、x-tt-token等加密参数接踵而至。这些加密参数都是放在So层的,你得逆向app然后找到关键代码,进行hook,这不是Java 层得hook,所以你得看懂一些c代码或汇编语言,各种指令集。因为它得逻辑都是存放在这里,所以对你得基本工要求比较高。app逆向推荐jeb或者jadx这样的工具。



接下来有两种思路,对于需要破解的参数,你需要手动实现加密逻辑,这种显然不现实,而且工作量巨大。这里采用frida rpc 远程调用的方式。直接利用app自身的加密函数,进行远程调用。每次请求时得到加密参数即可,然后爬虫脚本携带上就可以获取自己想要的数据了。

这里面还有一点比较难,就是数据量大了,抖音会封你设备。这是它的风控点,我们就需要去注册很多个合法设备id。所以怎么得到合法的设备id又是一大难点,下期再提供思路。

相关文章

详细介绍一下Python中如何使用来创建爬虫?

Selenium是一个用来对Web应用程序进行测试的自动化测试工具,能够模拟出用户在浏览器中的各种行为,通过自动化的操作来执行任务,例如说可以模拟用户点击按钮、填写表单、抓取网页内容等,虽然是一个自动...

Python爬虫常用的8个技巧,让你爬取数据得心应手

今天跟大家分享几个我在爬虫中用到的技巧,让你轻松爬取所需数据。技巧一:随机暂停,迷惑反爬机制高频率访问容易被网站识别为爬虫,所以我们要学会“劳逸结合”!使用 time.sleep() 函数,加上随机时...

Python应用短文,如何自制一个简易的网络爬虫

转载说明:原创不易,未经授权,谢绝任何形式的转载网络爬虫是一种快速从网站提取数据并将其用于自己的项目需求的好方法。在这篇文章中,您将学习如何使用Python制作网络爬虫(抓取网页数据)。1、引入模块第...

网络爬虫:Python动态网页爬虫2种技术方式及示例

作者:糖甜甜甜https://mp.weixin.qq.com/s/5Dwh5cbfjpDfm_FRcpw1Ug这一讲,我将会为大家讲解稍微复杂一点的爬虫,即动态网页的爬虫。动态网页技术介绍动态网页爬...

利用Python爬虫实现30秒爬取500篇微信文章

引言由于工作需要,给公司前端做了一个小工具,使用python语言,爬取搜狗微信的微信文章,附搜狗微信官方网址私信小编01即可获取Python学习资料搜狗微信:https://weixin.sogou....

Python爬虫基础教学(写给入门的新手)

私信我,回复:学习,获取免费学习资源包。环境安装python3.7.1pip install requestspip install beautifulsoup4pip install lxml技术讲...