![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python爬虫
文章平均质量分 80
狄鸠
写给5年后的自己
展开
-
工具 : 请求头|响应头转换josn对象
以下是我自己封装的一个小工具:把网页中的原始 请求头|响应头 => 转换成Json文件# !/usr/bin/env python# _*_ coding:utf-8 _*_# author:Andermi 2019/1/15 20:42""" header2Json.py =>把一个txt文件【请求头|响应头 字符串形式】转换成json文件【请求头|响应头 键值对形式】 文件A.txt : content-type: text/css ..原创 2020-06-13 20:05:40 · 1134 阅读 · 1 评论 -
IPython的使用(看这篇就够了)
一,IPython特点提供用户一个更加友好的界面提供代码补全,对象检查,系统调用,获取输入历史等等实用的功能可嵌入程序用作解释器,这一特性可以用于排除bug,交互式处理,分析数据允许快速画图,IPython支持GTK,Qt,WX等GUI程序美化代码,对对象的输出格式进行调整能够嵌入别的程序中二,自动补全IPython可以通过Tab键,搜索命名空间里面的对象(包括定义的变量名,内建函数名,关键字等)访问私有属性或者私有方法,输入点后,输入下划线Tab[外链图片转存失败,源站可能有原创 2020-06-14 15:01:21 · 2573 阅读 · 0 评论 -
爬虫基础(1):爬取你的第一张图片
import socketimport re# 创建一个socketclient = socket.socket()# 图片URLimg_url = 'http://pic.netbian.com/uploads/allimg/190518/111817-1558149497aa83.jpg'# 编写Http请求报文data = 'GET /uploads/allimg/190518/111817-1558149497aa83.jpg HTTP/1.1\r\nHost: pic.netbian原创 2019-06-02 15:27:26 · 688 阅读 · 0 评论 -
爬虫基础(2) - urllib3库的使用
urllib库的使用一,urllib库-简介urllib 是一个用来处理网络请求的 python 标准库,包含四个模块-urllib.request模块主要负责 构造和发起 网络请求,并在其中添加Headers,Porxy等request.urlopen 方法会返回一个 response 对象 urllib.request.urlopen( url, data=None, [timeout,]*, cafile=None, capath=None,原创 2020-06-02 20:56:50 · 593 阅读 · 0 评论 -
爬虫基础(3) - Requests库的使用
Requests库的使用一,简介基于 urllib3 开发,更简单,更优雅 中文文档:http://cn.python-requests.org/zh_CN/latest/ 英文文档:http://docs.python-requests.org/en/master/api/Request作者:千万不要给自己懒散的生活态度,找任何借口,你可以变得更棒!只要愿意去追求,我们都能变成我们想要的样子二,发起请求每个请求方法都有一个对应的 APIrequests.get()原创 2020-06-02 20:58:45 · 142 阅读 · 0 评论 -
爬虫基础(4) -抓包工具Fiddler
一,HTTP代理VPN 本身就是一个代理,帮我们访问我们访问不到的国外的网站,再给我们发回数据Http代理:我们发送http请求给代理,代理帮我们请求数据,再把响应的数据发回我们( 伪装自己 ),代理本身也是一台服务器代理池:我们发送多个请求到代理池,这些请求会被随机分配到代理池中的某一台代理服务器,再去访问http请求,服务端就无法分辨这些请求是一个人的,伪装自己二,Fiddler一款强大的抓包工具,是一款代理服务器,下载:https://www.telerik.com一般的抓包原创 2020-06-02 21:03:48 · 398 阅读 · 0 评论 -
爬虫基础(5) -网页解析
网页解析一,BeautifulSoup 安装:pip install beautifulsoup4 官方文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/1.1,简单的例子In [1]: html_doc = """ ...: <!doctype html> ...: <html> ...: <head> ...: <meta charset="UTF原创 2020-06-02 21:05:41 · 196 阅读 · 0 评论 -
爬虫大框架之 - Scrapy(一)
Scrapy框架(一)1,Scrapy简介Scrapy 是纯 python 开发的一个高效,结构化的网页抓取框架,主要用于抓取静态页面 Windows上安装:https://www.lfd.uci.edu/~gohlke/pythonlibs/python -m pip install 上面下载的包(绝对路径)python -m pip install scrapy Ubuntu安装创建虚拟环境:mkvirtualenv -p /user/bin/python3.6 环境原创 2020-06-13 15:18:27 · 105 阅读 · 0 评论 -
爬虫大框架之 - Scrapy(二)
Scrapy二1,Scrapy shellshell == ipython,ipython是一个增强版的python解释器,可以在 setting.py 里面设置进入shell方式直接在项目根目录:scrapy shell [url], 这里的url指的就是你想爬取的网址,可不写命令添加请求头(Spiderenv) pyvip@VIP:~/code/爬虫/myspider$ scrapy shell -s USER_AGENT='Mozilla/5.0 (Windows NT原创 2020-06-13 15:21:29 · 118 阅读 · 0 评论 -
爬虫大框架之 - Scrapy(三)
Scrapy三一,CrawlSpider通过定义一组规则,为跟踪连接提供非常便利的机制创建CrawlSpider:scrapy genspider -t crawl weather.spider www.weather.com.cn 关键字 关键字 爬虫类 爬虫名 爬取的网页域名RuleRule 用来定义CrawlSpider的爬取规则源码:LinkExtractor从web页面中提取最终将被跟踪的连接,可原创 2020-06-13 15:27:01 · 138 阅读 · 0 评论 -
爬虫大框架之 - Scrapy(四)
一,Requestmeta传参(实现不同回调方法之间数据的传递)dont_filter不过滤(实现请求相同url不会被过滤)POST请求(进行模拟登陆)二,GitHub登录抓包 最好是在无痕窗口(没有任何缓存和cookies数据)分析登录的请求,哪些参数是固定的,哪些参数是变化的(多抓几次包对比提交的参数)获取变化的参数,构造data数据包,用于POST请求提交三,Response源码四,日志使用直接在回调函数里面写setting.py 里面设置,原创 2020-06-13 15:35:32 · 106 阅读 · 0 评论 -
爬虫大框架之 - Scrapy(五)
Scrapy(五)一,下载中间件位于 引擎 和 下载器 之间(作用类似于Fiddler,可以对request和response进行修改)在setting.py 里面激活下载中间件在process_request里对request进行添加 headers cookies proxy 池添加headers添加 cookiesreque.cookie = {}添加 proxyip = '127.198.25.1'port = '888'request.proxy =原创 2020-06-13 15:47:11 · 98 阅读 · 0 评论 -
爬虫-字符验证码解决方案
字符型验证码一,字符验证码简介1.什么是验证码在开发爬虫的过程中会遇到一种常见的反爬措施,验证码。验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。2.验证码种类图形验证码:这类验证码大多是计算机随机产生一个字符串,在把字符串增加噪点、干扰线、变形、重叠、不同颜色、扭曲组成一张图原创 2020-06-13 21:08:24 · 758 阅读 · 1 评论 -
爬虫-滑动验证码解决方案
滑动验证码思路通过对比两张图像素点,找出缺口的位置,得到需要移动的 X 坐标获取两张图片计算缺口的位置,得到 x 坐标模拟滑动的轨迹通过selenium模拟滑动的过程案例一# !/usr/bin/env python# _*_ coding:utf-8 _*_# author:满怀心 2019/8/20 12:26"""# code is far away from bugs with the god animal protecting I love animals.原创 2020-06-13 20:57:26 · 940 阅读 · 0 评论 -
爬虫-点触验证码解决方案
点触验证码一丶使用验证码识别平台图像识别需要深度学习,成本比较大,借助平台来识别账号 : 1210947553密码 : 照常生成软件ID查看各种验证码价格二丶解决思路# -.- encoding = utf-8 -.-import timeimport randomimport requestsfrom io import BytesIOfrom hashlib import md5from PIL import Imagefrom selenium原创 2020-06-13 20:53:33 · 557 阅读 · 0 评论 -
python-selenium模块使用
Selenium模块一一,安装安装 seleniumpip install selenium安装谷歌浏览器驱动(chromedriver.exe),解压之后移动到 python 解释器的根目录http://chromedriver.storage.googleapis.com/index.html注意 : 解压之后是一个 chromedriver.exe 程序,需要移动到 python 解释器的根目录为什么要用 selenium ,能够加载 js 代码,把加密的部分解原创 2020-06-13 20:46:25 · 444 阅读 · 0 评论 -
Pyexecjs-使用python执行JavaScript
Pyexecjs的使用一,下载pip install pyexecjsimport execjs二,使用2.1,使用eval直接执行import execjsprint(execjs.eval('"abc aaa bbb".split(" ")'))['abc', 'aaa', 'bbb']# 调用变量名text = execjs.compile(open(r'text.js').read())print(text.eval('d'))2.2,compile加载js,cal原创 2020-06-13 21:36:12 · 5594 阅读 · 2 评论 -
加密算法(python实现)
加密算法一,对称加密1.0,简介对称加密是指 数据加密 与 解密 使用相同的密钥。,数据的加密主要功能:通常用于保证数据的机密性。常用的加密算法: DES: Data Encryption Standard,秘钥长度为56位,2003年左右被破解–秘钥可以暴力破解。 3DES: DES的改进版本。 AES: Advanced Encryption Standard,支持的秘钥长度包括 128bits,192bits,258bits,384bits,512bits。※ :密钥原创 2020-06-13 21:00:33 · 1514 阅读 · 2 评论 -
分布式爬虫 - scrapy_redis
Scrapy_redis什么是分布式?就是指多个系统协同完成一个系统任务的系统,解决了中心化管理,类似多线程Scrapy 和 Scrapy_redis 的区别Scrapy是一个框架,Scrapy_redis是一个组件,让我们更加方便进行分布式爬取一,RedisSpider配置redis桥接端口写好scrapy之后分析在Spider里面的redis_key代码,这个是指你在redis里面创建的列表名字,列表里面放一个初始的url,其他的和平常scrapy一样在r原创 2020-06-13 16:05:48 · 108 阅读 · 0 评论 -
爬虫实战-分布式微博爬取数据
分布式微博爬取一,登录登录的接口,PC:https://weibo.com/,https://weibo.cn, 移动:https://m.weibo.cn/写在中间键里面添加cookies,headers等数据自行写一个登陆脚本单独写一个登录的脚本,用scrapy进行爬取模拟登陆脚本(能获取到登录成功的cookies),自己创建一个文件# !/usr/bin/env python# _*_ coding:utf-8 _*_# author:满怀心 2019/7/原创 2020-06-13 16:24:32 · 535 阅读 · 0 评论