爬虫
文章平均质量分 75
__IProgrammer
这个作者很懒,什么都没留下…
展开
-
猿人学第十八题(jsvmp)题解
猿人学第十八题[题解找到请求发送的位置确认参数生成位置加密过程hook说实话,这种反爬真的是第一次见,而且反爬逻辑还算比较清晰,参数没有被过分的加密处理很容易推算出来,好了,既然都做到第十八题了,其他的废话也不多说,直接进入调试阶段。找到请求发送的位置第一页没有加密,跳过,直接看第二页的数据,抓到请求后,点击initiator查看请求发起位置,点进去第一个代码如图大眼一看,这里没有任何添加参数什么乱起八糟的逻辑,既然被标记位困难那肯定有他的道理在的,从xmlHttpRequest生成开始,一步原创 2021-03-22 19:07:03 · 4596 阅读 · 0 评论 -
scrapy各种请求参数
get请求 查询字符串1.使用FormRequest start_urls = ['https://careers.tencent.com/tencentcareer/api/post/Query?'] def start_requests(self): for url in self.start_urls: params = { "timestamp": str(int(time.time() * 1000)),原创 2020-10-10 16:13:17 · 3334 阅读 · 0 评论 -
调用第三方so时包名正确仍提示java.lang.UnsatisfiedLinkErro的解决方法(转载)
报错如下在集成腾讯云的sdk的时候,报下面的错java.lang.UnsatisfiedLinkError: No implementation found for int[]com.tencent.rtmp.TXRtmpApi.getSDKVersion()image.png遇到的情况1、在网上搜索,都是说需要将在grade里面加上abiFilters。但是这个我已经加了为啥还是会出...原创 2019-12-25 09:24:30 · 1195 阅读 · 0 评论 -
基于conda环境的Scrapy Python爬虫简易管理脚本
#!/bin/bashCONDA_PATH="/root/anaconda2" # conda dirCONDA_VENV_NAME="douyin" # 虚拟环境名PROJECT_NAME="douyin" # 项目名,可随意PROJECT_PATH="/data/douyin/douyinChallenge/douyinChallenge" # scrapy项目路径SPIDER_NA...原创 2019-11-14 10:32:16 · 925 阅读 · 0 评论 -
web爬虫-自定义字体反爬通用解决方案
简介之前做过汽车之家的字体反爬并可以以100%的成功率稳定解析,但是手动去生成一个已知的字体json是一个极其繁琐且无聊的过程,这导致了以后如果新增带有字体反爬的网站或者目标网站改版,则又要手动去生成,过程及其痛苦,后来有小伙伴问我,能不能省去这个手动的过程,让它全自动,当时受知识面所限,我回答不可能。这几天又想起这个问题了,就想尝试一下能否全自动,经过周末两天的半打鱼半晒网,终于实现了自动化...原创 2020-11-27 14:15:34 · 1094 阅读 · 2 评论 -
scrapy技巧
最近写scrapy的时候,有些链接会自动重定向,就导致了不同的错误都重定向到了一个相同的页面,导致无法根据响应内容做对应的处理,查了文档,关闭重定向的方式为:REDIRECT_ENABLED = False但是经过实际测试,该重定向只能针对响应状态为302,301的重定向进行处理,无法处理通过元数据进行重定向的页面,类似于:<meta http-equiv="refresh...原创 2019-08-27 14:04:11 · 958 阅读 · 0 评论 -
如何使用尽可能少的代理IP爬取尽可能多的网页资源
越来越多的网站采用了封(限制)IP的策略,单个IP访问过于频繁就会被献祭掉,但我们的IP数量是有限的,当遇到大型网站时,如果使用尽可能少的资源完成尽可能多的资源获取呢?(针对短效IP)确定IP被封的条件,找出不被封的临界点如果某网站的限制条件为:每0.5秒访问一次,连续访问100次就封禁,那么我设置成0.55秒访问一次,是否就可以绕过这个低级的反爬?实测是可行的,但这样做的网站很少,据说现...原创 2019-08-21 17:14:03 · 184 阅读 · 0 评论 -
爬虫之极验验证码破解-滑动拼图验证码破解
滑动拼图验证码破解前言步骤分析第一步,获取原图第二步 拼接图片第三步 计算豁口所在位置前言滑动验证码已经流行很多年了,我们在这里尝试一下如何实现滑动拼图验证码的自动化拖动。这是某网站的注册页面,点击拖动按钮后会出现豁口滑动。步骤分析大致流程就是使用webdriver此页面后,获取到原图以及有豁口的图,拿这两个图进行对比,找到豁口部分的左侧坐标,根据这个坐标进行滑动验证即可。第一步,获...原创 2019-07-26 18:00:21 · 9963 阅读 · 0 评论 -
汽车之家字体加密破解(CSS样式反爬)
废话不说多,直接切入主题。能来到这里的应该都已经发现汽车之家论坛以及一些频道的网页源码是这种:刚看到这里的时候,想到刚学爬虫时所听说的CSS样式反爬,没错,就是这个。破解方法就是破解其字体文件即可,通过Chrome抓包找到一个.ttf的请求,可以得知这是字体文件为一次单独的请求。在源码中搜索ttf,即可找到ttf字体文件的url。刚开始的想法时构造一个字典,形成映射,后续的爬取工作都使...原创 2020-11-27 14:16:32 · 2457 阅读 · 2 评论 -
pyppeteer实践一--大鱼号模拟登陆
安装与环境配置就不多说了。网上有很多淘宝的模拟登陆,大鱼号的跟淘宝差不多,我看好像是用的阿里的API,只不过实现方法略微有些不同。直接用selenium和pyppeteer打开时无法拖动滑块成功的,会一直失败,原因是有webdriver特征值检测;之前面试的时候做个这个,用的不是pyppeteer,用了其他两种方案。第一种是使用ie浏览器或者一些老版本的火狐,也是可以实现的,但...原创 2019-05-16 16:26:05 · 1967 阅读 · 7 评论 -
微博采集所用到的几种cookie总结
微博cookie的分类用户登陆cookie游客cookie登陆后访问敏感微博所产生的cookie更多的待发现用户登陆cookie该cookie为微博网页版登陆所产上的cookie,可用于几乎所有的微博内容,微博评论采集,但是无法访问部分微博内容的接口(即未登录状态下显示404的微博)。游客cookie该cookie为未登陆状态下访问微博所需要的cookie,可用于几乎所有的微博内容,微博评...原创 2019-05-31 09:39:30 · 2580 阅读 · 0 评论 -
Python生成图形验证码
改代码为大神开源出的代码,验证码质量很高,有时候肉眼都难以识别。#!/usr/bin/env python3# -*- coding: utf-8 -*-import randomimport stringimport os.pathfrom io import BytesIOfrom PIL import Imagefrom PIL import ImageFilterfr...转载 2019-06-05 18:13:57 · 458 阅读 · 0 评论 -
抖音模拟登陆的实现
抖音爬虫-登陆参数加密第一步,对账号,密码转成bytes类型并与0x5异或第二步第一步,对账号,密码转成bytes类型并与0x5异或第二步原创 2019-06-27 18:21:45 · 15785 阅读 · 17 评论 -
Flask+Pyppeteer搭建自动生成动态cookie的服务器
Flask+Pyppeteer搭建自动生成动态cookie的服务器前言pyppeteer修改User-Agent修改浏览器特征cookie的获取Flask结果结语前言公司有个项目大致工作流程为客户批量发送url,我们拿到后对这批url进行数值和评论的采集,网站呢是有个限制范围的(即配置库),普通的网站直接根据配置采集即可,但有些网站则需要生成cookie才能访问到内容,之前是在系统内嵌入了se...原创 2019-07-15 17:12:19 · 912 阅读 · 0 评论 -
爬虫之js加密参数破解步骤分析-百度翻译移动版sign值的获取
百度翻译sign值的获取所解决的问题请求参数分析动态分析参数生成方式定位参数生成的位置断点调试使用python生成sign第一种方式-读懂js代码,翻译成python使用执行js的包所解决的问题js参数加密,越来越多的网站进行数据传输时不使用明文传输而改为使用js通过一定的规则的转换后,后端进行解密,或者对铭文数据进行转换后,将值单独放在另一个字段,后端通过相同的方法进行转换后与我们传过去的值...原创 2019-07-24 12:43:04 · 1603 阅读 · 3 评论 -
爬虫之js加密参数破解练习-百度指数爬虫(附完整源码)
百度指数爬虫分析查看响应体找到加密的代码块完整代码分析百度指数,发送数据的时候没有加密参数,直接将关键字替换就可以实现不同网页的访问,响应数据url:https://index.baidu.com/api/SearchApi/index?word=王者荣耀&area=0&days=30但是其响应的数据却有加密,所以我们要分析,如何对数据进行解密。查看响应体不难猜出,几...原创 2019-07-24 16:05:32 · 3045 阅读 · 4 评论 -
Python使用content.encode(“utf-8“).decode(“unicode-escape“)导致中文乱码的解决方法
当想要把一个字符串中的\u002F这样的字符串转成正常字符串时,如果字符串中存在中文字符,将导致中文被转成乱码。例如:content = "\\u002F哈哈"content = content.encode("utf-8").decode("utf-8") ==> \u002F哈哈 无法进行转码如果使用.decode(“unicode-escape”)content = "...原创 2019-07-29 16:50:44 · 15505 阅读 · 7 评论 -
scrapy如何在中间件修改请求url
最近在做汽车之家爬虫的时候,访问频繁会被重定向到人机验证页面,此时request的请求url已经发生改变,直接更换ip然后return request的话会重新访问人机验证页面,所以需要在下载中间件中修改url。直接修改的话,会抛出此异常因为相应回来之后,无法对requests的url进行直接修改,但是scrapy提供了_set_url方法来修改。...原创 2019-07-31 09:42:22 · 2640 阅读 · 0 评论 -
Scrapy常见异常以及解决方法
Request.url is not modifiable, use Request.replace() instead不能直接在process_response直接修改url,需要调用方法request._set_url(url)<twisted.python.failure.Failure <class 'OpenSSL.SSL.Error'>错误原因一般是...原创 2019-07-31 14:40:14 · 2352 阅读 · 0 评论 -
python selenium chromedriver headless+proxy模式下获取页面为空的解决方案
获取页面返回的结果全是<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body></body></html>解决方案:from selenium.webdriver import DesiredCapabilitiesfrom seleni转载 2018-10-27 00:13:30 · 2046 阅读 · 0 评论