
Python爬虫
树新风\(^o^)/~
大智若愚
展开
-
使用xpath爬取贴吧图片
import timefrom lxml import etreeimport requestsimport osimport threadingdef down_image(url,kw): data = requests.get(url).content name = url[-10:] print(name) print("正在下载%s...%s...原创 2018-07-05 08:08:16 · 2946 阅读 · 6 评论 -
安卓手机使用Fiddler和Charles无法抓到https协议的请求解决办法
Android7.0 之后默认不信任用户添加到系统的CA证书,即使你的安卓手机上安装了抓包工具生成的证书文件,安卓系统对这个证书也是不信任的,这就是导致无法抓到https协议请求的原因。解决方案一:最简单的办法就是换手机,换个iPhone手机(土豪请随意),或者换个安卓7.0系统以下版本的安卓手机。解决方案二:此方法需要手机获得root权限将抓包软件的证书安装成系统证书系统证书目录:/...原创 2019-01-28 12:10:09 · 4083 阅读 · 8 评论 -
反反爬之js检测selenium篇(某宝登录)
使用selenium模拟淘宝登录、模拟大鱼号登录原创 2019-01-31 15:18:48 · 10032 阅读 · 20 评论 -
布隆过滤器的python实现
布隆过滤器是一种以牺牲一部分正确率来换取空间复杂度的数据结构,其中误报指的是可能会判断不存在的元素为可能存在,但在判断不存在的元素时不会出现误报,即返回为True时元素可能存在,返回False时元素一定不存在。下表是布隆过滤器的误报率,m为元素总个数,n为过滤器长度,k为hash函数的个数。m/nkk=1k=2k=3k=4k=5k=621.390.3930...原创 2019-01-31 12:56:06 · 1204 阅读 · 0 评论 -
反反爬之自定义字体篇
自定义字体反爬在爬取一些网页数据时,你会发现明明浏览器显示的内容是正确的,但是你抓下来的数据却是乱码。查看网页的html代码你会看到这些乱码的内容其实使用的是特殊的字体编码,形如:&#x9323之类的。这就是反爬中的自定义字体反爬。对于这类特殊的字体编码,我们可以使用fontTools模块来将自定义字体的对应编码解析成正常字体。首先,先从网页上获取出来网页采用的自定义字原创 2018-09-29 20:44:34 · 2004 阅读 · 2 评论 -
反反爬之极验二代滑块验证码篇
哔哩哔哩(极验)滑块验证码破解使用selenium、PIL以及OpenCV来获取图片缺口位置以及模拟鼠标拖动效果目标页面网址:https://passport.bilibili.com/loginfrom selenium import webdriverimport requestsimport timefrom selenium.webdriver.common.action_ch...原创 2018-10-05 12:38:28 · 2868 阅读 · 5 评论 -
Xpath常用语法
xpath常用语法总结// 从当前规则下任意位置匹配../ 从当前规则的父级开始匹配./ 从当前规则开始匹配/text() 表示从当前规则下匹配所有文本内容/@name 表示匹配当前规则下的属性的value[] 中括号中表示过滤的条件,支持and、or语法/div[@class="classname"] 表示匹配当前规则下所有class为classname的div对象/div[co...原创 2018-09-25 15:17:21 · 1518 阅读 · 0 评论 -
scrapy_redis分布式爬虫
使用scrapy_redis实现京东图书分布式爬虫settings.py# -*- coding: utf-8 -*-# Scrapy settings for jdbook project## For simplicity, this file contains only settings considered important or# commonly used. You ca...原创 2018-09-23 16:25:17 · 1125 阅读 · 0 评论 -
selenium使用Chrome浏览器
selenium使用Chrome浏览器准备:电脑上必须安装Chrome浏览器,并且要安装对应版本的Chromedriver驱动。使用有界面的Chrome浏览器:In [1]: from selenium import webdriverIn [2]: driver = webdriver.Chrome()In [3]: driver.get('https://www.baidu...原创 2018-09-12 14:21:31 · 3554 阅读 · 0 评论 -
requests模块常用方法以及属性总结
requests模块常用方法以及属性使用总结#发送get请求,参数:url,headers,params,proxies,timeout等,返回一个response对象。requests.get()#发送post请求,参数:url,headers,data,proxies,timeout等,返回一个response对象。requests.post()#将字典对象转换成cookiej...原创 2018-09-16 16:05:10 · 2242 阅读 · 0 评论 -
Redis常用命令
#开启Redis服务redis-server#连接本地Redis数据库redis-cli#连接远程Redis数据库redis-cli -h host -p port#测试命令结果返回PONG表示正常ping#选择数据库,默认有16个数据库编号0-15select 0#数据操作#删除全部数据flushall#String字符串操作#添加/修改键值对set na...原创 2018-08-16 20:09:53 · 2458 阅读 · 0 评论 -
scrapy框架的基本命令
scrapy startproject 项目名 创建一个scrapy项目cd ./项目名scrapy genspider 爬虫名 域名 创建一个爬虫scrapy genspider -t crawl 爬虫名 域名 创建一个crawlspider爬虫创建好项目以及爬虫后,首先编辑items.py文件设置好要爬取的字段,然后根据需求修改setting.py文件中的配置,然后在编辑爬虫名...原创 2018-07-22 17:12:20 · 1007 阅读 · 0 评论 -
爬取糗事首页数据
#爬取糗事百科首页数据import requestsfrom lxml import etreedef load_page(url): headers = {"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0...原创 2018-07-08 21:35:49 · 936 阅读 · 0 评论 -
爬取某直播网站首页小姐姐的照骗
#使用正则表达式取出网页中图片url并下载图片import timeimport reimport urllib.requestimport multiprocessingimport osdef down_image(url,i,name): response = urllib.request.urlopen(url) data = response.read()...原创 2018-07-03 19:11:35 · 1596 阅读 · 0 评论 -
在scrapy的RetryMiddleware中实现代理IP池
#middlewares.pyfrom scrapy.downloadermiddlewares.retry import RetryMiddleware, response_status_messageimport loggingfrom twisted.internet import deferfrom twisted.internet.error import TimeoutErro...原创 2019-04-27 09:55:19 · 1172 阅读 · 0 评论