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

liftword2个月前 (02-21)技术文章25

最近做得爬虫相关的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实现一个基础爬虫?_用python做一个爬虫

Python爬虫技术就是指通过Python语言来编写一些自动化的数据处理程序从网页上来获取自己想要的数据,我们可以通过Python爬虫来获取公开网页上的数据,对数据进行分析、存储、数据可视化展示等操作...

程序员python入门课,30分钟学会,30行代码写爬虫项目

现在很多人学习编程,最开始就是选择的python,因为python现在比较火,薪资水平在程序员领域也是比较高的,入门快,今天就给大家分享一个用python写的小爬虫项目,只需要30行代码,认真学习,...

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

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

python爬虫经典案例,看完这一篇就够了

urllib2urllib2是Python中用来抓取网页的库,urllib2 是 Python2.7 自带的模块(不需要下载,导入即可使用)在python2.x里面有urllib和urllib2;在p...

详细介绍一下Python爬虫技术?_python爬虫技术简介

Python爬虫技术主要是用来通过一些脚本以及自动化的手段从互联网上获取到信息,一般情况下,通过HTTP请求获取到网页内容之后,通过爬虫解析这些内容并且将有用的信息提取出来形成自己的知识库,在Pyth...

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

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