![](https://img-blog.csdnimg.cn/20190918140158853.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
万能爬虫
文章平均质量分 63
爬虫那些事
1024小神
不会就去学,学习是永远不会亏的(wx:lanxingme)
展开
-
直播的js代码debug解析找到protobuf消息的定义
我们都知道直播的弹幕消息是通过websocket发送的,而且是通过protobuf传输的,那么这里面传输了哪些内容,这个proto文件又要怎么定义?每个消息叫什么,消息里面又包含有哪些字段,每个字段又是什么类型?都可以通过js查看得到。原创 2024-07-01 11:07:24 · 364 阅读 · 0 评论 -
从直播消息中找到对应的proto协议内容
这么多直播间的消息,我们该怎么从里面找到我们需要的消息定义呢?原创 2024-07-01 11:06:24 · 279 阅读 · 0 评论 -
protobufjs解析proto消息出错RangeError: index out of range: 2499 + 10 > 2499解决办法
使用websocket通讯传输protobuf消息的时候,decode的时候出错了:出现这种错误的时候,99%是因为proto里面的消息类型和服务端发送的消息类型不一致导致的。原创 2024-07-01 11:05:42 · 319 阅读 · 0 评论 -
调试解析直播弹幕消息protobuf内容,一步一步教你debug查看PushFrame和Response解码在哪里
我们知道直播间的弹幕消息是通过websocket传输的,而且传输的并不是明文数据,而是protobuf消息,至于为什么使用这个protobuf消息,因为它是二进制传输,更快更稳,相对于直播这种实时性比较高的要求,使用这种消息传输是非常合适的。原创 2024-06-29 15:13:09 · 566 阅读 · 0 评论 -
在rust中使用reqwest获取响应里面的cookie,报错borrow of moved value: `response`value borrowed here after move
说的是先move了,然后再borrowed,因为move会转移response的所有权,转移所有权之后,就不能在原实例上租借了,这是rust中的规范。可以看到cookies上面绑定了一个生命周期`a,这个生命周期是和Response绑定的,所以当Response销毁的时候,这个cookie对应的也会销毁。确实是的,我在获取响应内容的时候使用了这个response实例和.text()方法,看一下这个方法里面的内容是啥?那是不是在这个cookie之前有某个地方使用并move了这个response实例?原创 2024-06-25 10:15:05 · 379 阅读 · 0 评论 -
pyppeteer模块经常使用的功能,相关操作案例
1.打开浏览器调用 launch 方法即可,相关参数介绍:ignoreHTTPSErrors (bool): 是否要忽略 HTTPS 的错误,默认是 False。headless (bool): 是否启用无界面模式,默认为 True。如果 devtools 这个参数是 True 的话,那么该参数就会被设置为 False。executablePath (str): 可执行文件的路径,如果指定之后就不需要使用默认的 Chromium 了,可以指定为已有的 Chrome 或 Chromium。原创 2024-06-24 22:42:23 · 1219 阅读 · 0 评论 -
Pyppeteer原理介绍和入门尝试
1.Chrome 浏览器和 Chromium 浏览器在 Pyppetter 中,实际上它背后也是有一个类似 Chrome 浏览器的 Chromium 浏览器在执行一些动作进行网页渲染,首先说下 Chrome 浏览器和 Chromium 浏览器的渊源。Chromium 是谷歌为了研发 Chrome 而启动的项目,是完全开源的。原创 2024-06-24 22:41:37 · 915 阅读 · 0 评论 -
深入研究websocket直播中signature这个参数怎么来的,模拟自己生成一个
这是一个webmssdk.es5.js包里面的函数,所以需要将这个webmssdk.es5.js包下载到本地,然后集成到window对象上,就可以调用这个函数了,我这里写了一个demo:可以看到已经生成了值。上一节课我们已经找到了生成signature这个字段的代码位置,就是这个B函数,嗯......听起来好像有点奇怪,但是它确实叫B啊,笑死。不管了,看一下里面的逻辑是啥。V()其实会返回一个函数,这个函数可以传递两个参数,有了这两个参数传递过来,那我们就可以安心研究B里面的逻辑了。原创 2024-06-21 16:16:46 · 682 阅读 · 6 评论 -
直播websocket签名signature字段生成逻辑,一步一步带你研究学习
我在这里做了一些注释,方便研究后续逻辑,我们这里看到了,l就是签名signature参数,所以搞出来l就可以了,但是l又依赖s和n,n是websocket_key很明显,那就继续研究s,但是s又依赖于t + a + r + o + ee.VERSION这五个,其中t + r + ee.VERSION = "1.0.14-beta.0"是明显的, 那就需要研究a + o是啥了,a是啥呢?是的,把这里面的逻辑搞清楚不是就可以搞到signature这个签名了嘛,好了,好好研究去吧,同学们,下课。原创 2024-06-21 11:41:04 · 576 阅读 · 0 评论 -
常用的1000个UserAgent列表,方便以后使用
字符串数组:(后面有原始数据)原创 2023-02-17 16:17:55 · 551 阅读 · 0 评论 -
在Linux中使用selenium
阅读目录安装chrome 安装依赖库 安装 chromedriver 代码测试安装chromeyum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm安装依赖库安装必要的库yum install mesa-libOSMesa-devel gnu-free-sans-fonts wqy-zenhei-font安装 chromedriverwget ht原创 2021-10-13 11:29:59 · 1398 阅读 · 0 评论 -
\n 在文本文件中和程序读取长度
\n 在txt文本文件中是占两个字节的,但是当使用Python程序使用len("\n") 的时候,就只统计1个字符,因为转译了要想使用原始字符串:可以使用content = repr("\n")原创 2021-10-13 11:27:48 · 1692 阅读 · 0 评论 -
python之Selenium库的使用
阅读目录一 什么是Selenium 二 selenium的基本使用一 什么是Seleniumselenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Grid)。Selenium的核心Selenium Core基于JsUnit,完全由JavaScript编写,因此可以用于任何支持JavaScript的浏览器上。selenium可以模拟真...原创 2021-10-12 13:59:11 · 863 阅读 · 0 评论 -
Mac安装selenium 并调试运行
一、安装selenium先使用:pip install selenium如果问题:提示未找到pipMacBook-Air ~ % pip install seleniumzsh: command not found: pip解决方案:sudo easy_install pip安装selenium(sudo pip uninstall selenium 卸载selenium)运行python解释器,执行import selenium,无异常表示安装成功二、安..原创 2021-10-12 12:32:33 · 927 阅读 · 0 评论 -
爬过这些网站才算会爬虫
摘要:微信、知乎、新浪等主流网站的模拟登陆爬取方法。网络上有形形色色的网站,不同类型的网站爬虫策略不同,难易程度也不一样。从是否需要登陆这方面来说,一些简单网站不需要登陆就可以爬,比如之前爬过的猫眼电影、东方财富网等。有一些网站需要先登陆才能爬,比如知乎、微信等。这类网站在模拟登陆时需要处理验证码、js 加密参数这些问题,爬取难度会大很多。费很大力气登陆进去后才能爬取想要的内容,很花时间。...原创 2019-05-02 08:57:14 · 7523 阅读 · 5 评论 -
爬取数据不保存,就是耍流氓
我们初体验也过了,爬虫代码健壮性也升级为 PLUS 了。都分析到这个地步了,是不是感觉还少了点什么?对,我们还没保存数据呀?不保存,这不是瞎忙活吗?Itemsitem 是我们保存数据的容器,其类似于 python 中的字典。使用 item 的好处在于:Item 提供了额外保护机制来避免拼写错误导致的未定义字段错误。且看栗子:importscrapyclassDoubantop...原创 2019-05-10 15:50:45 · 355 阅读 · 0 评论 -
爬虫利器初体验 scrapy,爬取豆瓣电影
目录 前言 scrapy 数据流 scrapy 组件 爬取豆瓣电影 Top250 后记 送书后话 前言为什么要学 scrapy 呢?看下图中的招聘要求,就清楚了。很多招聘要求都有 scrapy,主要是因为 scrapy 确实很强。那到底强在哪里呢?请在文中找答案。scrapy 数据流首先我们先来...原创 2019-05-10 15:47:25 · 509 阅读 · 0 评论 -
Python爬虫绕过登录的小技巧
前言很多时候我们做 Python 爬虫时或者自动化测试时需要用到 selenium 库,我们经常会卡在登录的时候,登录验证码是最头疼的事情,特别是如今的文字验证码和图形验证码。文字和图形验证码还加了干扰线,本文就来讲讲怎么绕过登录页面。登录页面的验证,比如以下的图形验证码。还有我们基本都看过的 12306 的图形验证码。绕过登录方法绕过登录基本有两种方...原创 2019-05-15 08:48:58 · 6490 阅读 · 0 评论 -
为什么Python适合写爬虫?Python到底有啥好的?!
我用c#,java都写过爬虫。区别不大,原理就是利用好正则表达式。只不过是平台问题。后来了解到很多爬虫都是用python写的。因为目前对python并不熟,所以也不知道这是为什么。百度了下结果:1)抓取网页本身的接口相比与其他静态编程语言,如java,c#,C++,python抓取网页文档的接口更简洁;相比其他动态脚本语言,如perl,shell,python的urllib2包提供了较为完整...原创 2019-05-08 08:34:47 · 371 阅读 · 0 评论 -
Python爬虫基础
前言Python非常适合用来开发网页爬虫,理由如下:1、抓取网页本身的接口相比与其他静态编程语言,如java,c#,c++,python抓取网页文档的接口更简洁;相比其他动态脚本语言,如perl,shell,python的urllib包提供了较为完整的访问网页文档的API。(当然ruby也是很好的选择)此外,抓取网页有时候需要模拟浏览器的行为,很多网站对于生硬的爬虫抓取都是封杀的。这是我...原创 2019-05-07 10:57:10 · 313 阅读 · 0 评论 -
Python爬虫:爬取网站视频
python爬取百思不得姐网站视频:http://www.budejie.com/video/新建一个py文件,代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...原创 2019-05-07 09:01:38 · 7921 阅读 · 2 评论 -
教你实现一个可视化爬虫监控系统
# 1. 前言本文并不是讲解爬虫的相关技术实现的,而是从实用性的角度,将抓取并存入 MongoDB 的数据 用 InfluxDB 进行处理,而后又通过 Grafana 将爬虫抓取数据情况通过酷炫的图形化界面展示出来。在开始之前,先对 Grafana 和 InfluxDB 做一下简要的介绍: Grafana:是一个开源的分析和监控系统,拥有精美的web UI,支持多种图表,可以展...原创 2019-05-09 10:12:18 · 3600 阅读 · 2 评论 -
推荐几款爬虫分析神器
Toggle JavaScript这款工具之前推荐过,这里就再推荐一次,凑个数吧。这是一款禁止异步加载的 Chrome 工具。就拿 QQ 音乐为例子,打开 Toggle JavaScript 之后,其数据一直无法加载,进度条一直打转。如下图,关闭之后,页面显示正常。使用后未使用JSONView这是一款 JSON 数据可视化工具,有...原创 2019-05-10 15:54:08 · 3466 阅读 · 0 评论 -
这些年职业爬虫师教会我的技巧
随着 Python 越来越火爆爬虫这个行业也逐渐被人所重视起来,但市面上教的一些爬虫的技巧大多是一些基础类的知识,然而在实际的爬虫工作中你会遇到各种各样的问题。比如抓取到的网页字体显示乱码、某个网站使用了滑块验证码、某个网站使用了短信验证如何高效的解析数据、各个解析库又有什么区别、如何把数据插入到各个数据库中等等。所以我想把我在实际爬虫工作中会使用到的技巧,都分享给大家。让一些日后想...转载 2019-05-10 15:58:22 · 413 阅读 · 0 评论 -
爬虫进阶:反反爬虫技巧!
主要针对以下四种反爬技术:Useragent过滤;模糊的Javascript重定向;验证码;请求头一致性检查。高级网络爬虫技术:绕过 “403 Forbidden”,验证码等爬虫的完整代码可以在 github 上对应的仓库里找到。https://github.com/sangaline/advanced-web-scraping-tutorial简介我从不把爬取网页当做...原创 2019-04-10 10:00:20 · 1266 阅读 · 0 评论 -
python爬虫抓网页的总结
这些脚本有一个共性,都是和web相关的,总要用到获取链接的一些方法,再加上simplecd这个半爬虫半网站的项目,累积不少爬虫抓站的经验,在此总结一下,那么以后做东西也就不用重复劳动了。1.最基本的抓站import urllib2content = urllib2.urlopen('http://XXXX').read()2.使用代理服务器这在某些情况下比较有用,比如IP被封了...原创 2019-05-29 18:13:59 · 444 阅读 · 0 评论 -
爬虫代理哪家强?十大付费代理详细对比评测出炉!
前言随着大数据时代的到来,爬虫已经成了获取数据的必不可少的方式,做过爬虫的想必都深有体会,爬取的时候莫名其妙 IP 就被网站封掉了,毕竟各大网站也不想自己的数据被轻易地爬走。对于爬虫来说,为了解决封禁 IP 的问题,一个有效的方式就是使用代理,使用代理之后可以让爬虫伪装自己的真实 IP,如果使用大量的随机的代理进行爬取,那么网站就不知道是我们的爬虫一直在爬取了,这样就有效地解决了反爬的问题...原创 2019-06-01 17:51:21 · 2222 阅读 · 0 评论 -
常见正则表达式剖析
常用的正则表达式,具体包括:邮编 电话号码,包括手机号码和固定电话号码 日期和时间 身份证 IP地址 URL Email地址 中文字符 对于同一个目的,正则表达式往往有多种写法,大多没有唯一正确的写法,本节的写法主要是示例。此外,写一个正则表达式,匹配希望匹配的内容往往比较容易,但让它不匹配不希望匹配的内容,则往往比较困难,也就是说,保证精确性经常是很难的,不过,很多时...原创 2019-05-24 14:59:56 · 761 阅读 · 0 评论 -
Python数据可视化:豆瓣电影TOP250
豆瓣电影TOP250,对于众多爬虫爱好者,应该并不陌生。很多人都会以此作为第一个练手的小项目。当然这也多亏了豆瓣的包容,没有加以太多的反爬措施,对新手比较友好。本期通过Scrapy框架,对豆瓣电影TOP250信息进行爬取。同时对获取的数据进行可视化分析,给大家带来一个不一样的TOP250。/ 01 / Scrapy之前了解了pysp...原创 2019-05-11 08:21:47 · 8312 阅读 · 0 评论 -
Python3 正则表达式(教程)
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。re 模块使 Python 语言拥有全部的正则表达式功能。compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。re 模块也提供了与这些方法功能完...原创 2019-05-08 08:38:16 · 308 阅读 · 0 评论 -
一次解决所有代理设置问题
代理其实也挺恼火的,因为各种协议啊,你要各种设置啊, http/https/ssh/git 都是各种配置,其实我只要有一个 socks5 的代理,然后你们所有需要走代理的程序都通过它就好了。谁特么有空天天在琢磨怎么配置各种不同协议的代理!只要我们想得到的,一般都有人做了。于是万能的github上找到了 proxychains , https://github.com/haad/proxyc...原创 2019-05-08 08:34:36 · 2438 阅读 · 0 评论 -
50 行代码爬取链家租房信息
最近自己开始学习数据分析的技术,但数据分析最重要的就是数据。没有数据怎么办?那就自己爬一些数据。大家一定要记得爬虫只是获取数据的一种手段,但如果不用一系列科学的方式去分析这些数据,那么爬去下来的数据是毫无用处的。所以爬虫进阶的方向很容易就可以对接到数据分析,我现在就是在往数据分析这个方向靠近。而今天我们要分析的是链家上海出租房一些信息,从中找出性价比高的租房信息。这是一个系列的文章,我会...原创 2019-05-10 15:59:11 · 1116 阅读 · 0 评论 -
Python爬虫抓取纯静态网站及其资源
遇到的需求前段时间需要快速做个静态展示页面,要求是响应式和较美观。由于时间较短,自己动手写的话也有点麻烦,所以就打算上网找现成的。中途找到了几个页面发现不错,然后就开始思考怎么把页面给下载下来。由于之前还没有了解过爬虫,自然也就没有想到可以用爬虫来抓取网页内容。所以我采取的办法是: 打开chrome的控制台,进入Application选项 找到Frames选项,找到ht...原创 2019-05-01 15:05:33 · 1954 阅读 · 0 评论 -
爬虫 (反爬)
再爬虫过程中,我们爬着爬着,他就会阻止你浏览页面,说明对方已经在页面上设置了反爬。而我,今天用 装饰器的方法,也制定了一个反爬!下面 ,则是详解代码def limit(seconds=1):# 定义内部方法def rate_limit(func):def func_limit(request):# 设置当前时间now =time.time()# 获取首次来访时间...原创 2019-05-07 08:52:22 · 709 阅读 · 0 评论 -
104个实用网络爬虫项目资源整理(超全)
爬虫是一种可以爬取指定网站页面的指定信息的应用程序,通过爬虫,我们可以获取网站中我们需要的数据。通过一个 URI 地址,模拟类似浏览器的行为获取这个 URI 地址对应的 HTML 页面,部分爬虫甚至还可以支持 JavaScript 的执行。获取之后通过页面解析,从页面中的指定的 HTML 标签下提取得到我们需要的数据。对数据进行处理之后存入指定的存储,比如文件系统,MySQL 等关系型数据库,Redis,MongoDB 等 NoSQL 数据库中。原创 2019-04-16 08:42:26 · 16726 阅读 · 6 评论 -
友情提示:爬虫犯法
遥想当年,我的第一份实习工作,还就是做的爬虫呢。不知不觉 7 年过去了,如今首例利用爬虫技术非法盗抓数据案都已经被判违法了。我记得我第一份实习工作,就是做的爬虫,利用爬虫技术,去爬取各种论坛和网站,然后要做到记录到每个论坛帖子的发帖时间,在论坛的板块,页数,发帖时间,发帖 ID ,然后存储起来,可以做到搜索关键字快速定位到哪个论坛的那一页,哪个帖子。而且这个爬虫技术基本上要做到可以适...原创 2019-04-15 11:09:50 · 2350 阅读 · 3 评论 -
一入爬虫深似海,从此游戏是路人!总结我的python爬虫学习笔记
前言还记得是大学2年级的时候,偶然之间看到了学长在学习python;我就坐在旁边看他敲着代码,感觉很好奇。感觉很酷,从那之后,我就想和学长一样的厉害,就想让学长教我,请他吃了一周的饭,他答应了。从此,我踏上了python编程的道路。在那之前,我成天到晚都是在打lol;但是从那天之后,几乎很少很少了。然而到如今,这一学就是2年,我已经不再是一名小白。是的,我爱上了编程,爱上了pyt...原创 2019-04-15 08:47:04 · 450 阅读 · 1 评论 -
Python正则匹配下载单页图片(源码),爬虫新手练习
源码分享:# 下载美女网图片import urllib.requestimport reimport geventfrom gevent import monkey# 打补丁,让需要耗时的操作monkey.patch_all()# 定义一个图片下载函数,来实现多协程下载def down_jpg(name, url): req = urllib.request....原创 2019-04-14 10:23:55 · 323 阅读 · 0 评论 -
Python网络爬虫requests、bs4爬取空姐图片,福利哦
Scrapy框架很好,也提供了很多扩展点,可以自己编写中间件处理Scrapy的Request和Response。但是可定制化或者可掌控性来说,还是自己写的爬虫更加强一些。接下来,我们来看一下使用Python第三方库:requests和bs4抓取空姐网的美女。requests和bs4国际惯例,我们先了解一下requests和bs4。requests是Python非常流行的处理网络数据...原创 2019-04-13 12:49:04 · 6684 阅读 · 0 评论 -
用Python爬取抖音短视频实战,如此简单
前言抖音,是一款可以拍短视频的音乐创意短视频社交软件,该软件于2016年9月上线,是一个专注年轻人的15秒音乐短视频社区。用户可以通过这款软件选择歌曲,拍摄15秒的音乐短视频,形成自己的作品。此APP已在Android各大应用商店和APP Store均有上线。今天咱们就用Python爬取抖音视频准备:环境:Python3.6+WindowsIDE:你开行就好,喜欢用哪...原创 2019-04-13 12:43:28 · 5117 阅读 · 0 评论