自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 20.爬虫:cookie池设计

一.为什么要设计cookie池1.很多网站要登陆才能访问(能不用cookie的网站就不用带cookie)2.cookie会对应到账号,单个账号会受到访问频率的限制3.设计cookie池:将模拟登陆单独做成一个服务,检测cookie有效性做成一个服务,爬虫做成一个服务,做到服务分离4.使用redis组件可以使各个服务用不同的语言实现二.设计cookie池会面临的问题:1.cookie池的合理大小2.各个网站的cookie如何分开管理3.如何及时发现cookie失效了4.新加入的网站如何快速

2022-10-26 11:49:17 1330 1

原创 19.爬虫:scrapy-redis分布式爬虫

一.概述:分布式爬虫分布式爬虫:多台电脑一起爬取数据单机爬虫:一台电脑自己爬取数据分布式爬虫的优点:1.充分利用多台机器的带宽加速爬取;2.充分利用多台机子的IP来爬取,总而言之,十个人干活肯定比一个人干活来的快和好那么,当同一个爬虫程序在多台电脑上同步爬取数据,如何保证A电脑爬取的数据,在B电脑上不会重复爬取.这就需要统一的状态的管理器(redis)来统一管理,主要承担request的队列的调度与去重等功能二.概述:redisredis的本质是内存数据库,key-value存储系统它支持的

2022-10-24 17:48:37 1400 1

原创 17.爬虫:scrapy信号

一.概述scrapy信号就是我们事先指定在什么条件下,要调用什么方法。当条件被触发时,方法就会被执行。所谓:摔杯为号,刀斧手出动,当然这是需要事先跟手下讲明的第1步:摔杯为号我们一般会在spider的__init__()中来指定信号,也可以重写from_crawler()这个方法来指定信号----->跟手下讲明这是鸿门宴,摔杯是要砍对方主公的实现方式1:from_crawler方法中crawler.signals.connect(spider.item_scraped,signal=sign

2022-10-20 09:14:02 606

原创 scrapy暂停与重启/数据收集/去重原理/爬虫中间件等

selinium 控制鼠标滑动selinium可以执行JavaScript代码from selenium import webdriverbro= webdriver.Chrome(executable_path='chromedriver.exe')bro.get('https://blog.csdn.net/nav/python')js="window.scrollTo(0, document.body.scrollHeight); var

2022-10-14 18:23:19 807

原创 爬虫15:反“反爬“

主题一:反爬为什么爬虫不用太担心禁止IP的反爬方法(顶多封几个小时IP,我们也有对应的方案),原因如下:1.比方说一个学校/网吧,对外的IP只有一个或者几个,大家都通过局域网对外访问,如果因为学校里面的学生写了一个爬虫而把公网IP封了,那么整个学校1万多人都无法访问该的网站,损失量巨大2.IP是动态分配的,如果将IP禁止访问,当把此IP分配给其他"无辜的人"时,他就无法登陆你的网站信心来源:理论上,网站是不可能从技术上禁止爬虫,最后肯定是爬虫获胜的主题二:scrapy架构图看图中的序号和主件

2022-10-13 17:59:53 279

原创 12.爬虫:scrapy中使用selenium完成模拟登陆知乎

如何在scrapy中使用selenium完成模拟登陆,获取cookie以下以模拟登陆知乎为例,讲解思路一.入口方法在爬虫类中有一个入口方法,如下:这个start_requests()方法的作用是将start_urls中的url给Request对象去下载.只要重写这个方法,就可以完成入口控制,每次启动scrapy之前使用selenium完成模拟登陆;二.使用浏览器驱动控制当前打开的浏览器实例但用上面所讲的思路来模拟登陆会出现如下问题这是因为Chrome的driver被知乎给识别了,无法使

2022-09-19 14:30:55 983

原创 11.爬虫:超级好用scrapy(下)

scrapy第一节scrapy第二节十.如何存储数据一切关于数据的存储,都放在pipeline中处理1.写到本地文件中import codecs #处理文件以及编码的库class JsonWithEncodingPipeline(object):    #自定义json文件的导出    def __init__(self):    &nbs

2022-09-15 15:25:53 134

原创 10.爬虫:超简单的scrapy(中)

接上一小节:scrapy入门六.调试代码针对提取详细数据的代码,如果每次都debug调试,看是否能够正确的提取出来,则会发过多的请求.scrapy提供一种方法,可以直接调试当程序运行到此处时会阻塞,这时你可以尽情的调试。当调试完成后按Ctrl-D(Windows下Ctrl-Z)退出后继续运行,当下一次运行此处时又会阻塞在这里供你调试另外,在cmd命令行输入scrapy shell 网址也可以实现相同的调试目的,将可以正确提取数据的代码拷贝到程序中如果要在程序中debug,则不需要yield太

2022-09-14 16:24:34 319

原创 9.爬虫:scrapy入门(上)

本章节以博客园-新闻的爬取,来讲解scrapy的入门使用,分成上中下三篇一.scrapy安装pip安装的时候是从国外的服务器下载,国内有一个非常常用的镜像,可以提高下载速度pip install -i https://pypi.douban.com/simple scrapy有些windows环境下安装scrapy会出错,安装出错则按下面的方式处理https://www.lfd.uci.edu/~gohlke/pythonlibs/这个网址可以直接下载会安装出错的包,安装scrapy需要下载下面

2022-09-09 16:12:41 196

原创 8.爬虫:网站模拟登陆

一.网站模拟登陆的原理是什么 ?http协议是无状态的协议,是一次性的请求,访问后连接就断开了既然请求之间是没联系的,那网站如何知道两个请求是否是同一个用户访问的?原理:1)服务器在用户登陆成功后,会给用户返回一段字符串sessionid够复杂,无法伪造cookie在http协议中就是一段文本信息,写在http协议的headers中2)服务器中维护一个sessionid 与 用户的映射关系(字典)3)浏览器能解析这些值,并把这些信息保存在本地文件中.这就是缓存,在每次请求都自动带上这个s

2022-09-07 11:56:05 285

原创 6.爬虫:存储数据

peewee:一款轻量级的ORM框架使用ORM有很多好处,其中之一是:隔离数据库与数据库版本之间的差异sqlalchemy相对完善peewee相对轻量级,文档质量高。官方文档:http://docs.peewee-orm.com/en/latest/1.如何定义表和生成表:from peewee import *db = MySQLDatabase('test',host='127.0.0.1',port=3306,user='root',p.

2022-08-26 15:33:37 205

原创 5.爬虫:提取

html下载下来后,如何去解析提取里面的元素一.BeautifulSoupBeautifulSoup只是一个壳,他可以封装了很多解析引擎,使得这些引擎的接口变得简单,实际上的解析是由解析引擎来处理的.使用的时候查询文档即可,bs官方文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html老夫当年写的豪文BeautifulSoup也可一看二.xpath(重点)xpath最常用的解析库是lxmlscrapy的Se

2022-08-24 15:16:44 96

原创 史上最简单易记的正则表达式学法,没有之一

正则表达式一.匹配符.表示匹配任意一个字符,比如b.可以匹配ba bb bc bd等等,.可以理解成省略号...,省略一个任意字符;比如bby,通过b.可以匹配出bb,不能匹配出by^表示匹配开始位置比如^b,可以匹配以b开头的字符b,比如bbba可以匹配到最开头的b,如果是cbba则匹配不到里面的b^上尖号,理解成顶天,行首$表示匹配结尾位置比如ca$,可以匹配以ca结尾的支符串ca,与上尖号类似$现状像尾巴,故匹配结尾位置\d表示匹配一个数字,相当于[0-9],digit:数

2022-08-22 14:31:42 465

原创 爬虫基本功2:前端

一:爬虫重点分析html与jsHtml:骨骼css:衣服,主要的目的是用来做美化的,做数据提取的时候不用考虑cssJavaScript:肌肉,让人能够运动起来,可以动态的控制网页网页右键->查看网页源代码: 查看服务器返回的最原始的代码F12->Elements:是js执行完之后展现出来的html极端的情况:原始的页面什么都没,但是可以通过js与服务器交互,拿回来一堆的数据.二:浏览器的加载过程根据html内容构建dom树加载子资源:css/图片/jscss执行,js执行

2022-08-18 20:31:48 914

原创 爬虫基本功1:Http协议

爬虫基本功1:Http协议一.Socket:套接字,理解为插座,类比插座背后的电力体系已经建好了,不用管它,只要插上插座就可以通电;我们使用套接字,就可以进行通信;而套接字后面的整套体系,操作系统以及各个硬件设备都已经实现,我们也不用费心;IP:可以定位到服务器port:可以定位到这台机器上的某个软件通过socket获取到的数据是最原始的数据二.Http协议两个机器在通信的过程中,会通过大家约定好的"暗号",来发送消息.暗号对上了,才是自己人,才可以进行交接;这个"暗号"就是协议,当我.

2022-08-17 17:27:20 142

原创 如何从Chrome商店下载.crx的插件

如何从Chrome商店下载.crx的插件很多时候我们是直接安装插件了事,但是有些时候我们想下载.crx的插件,要怎么下载呢。亲测有效!!!1.下载首先每个Chrome上的插件都有一个ID,是该插件网址上最后一串字符串,将这个ID拷贝下来。然后在下面的这个链接中,把ID替换到===============处https://clients2.google.com/service/update2/crx?response=redirect&os=win&arch=x64&os_arch.

2022-08-11 19:19:04 2405

原创 一个动漫下载网站

一、好东西分析一个动漫下载网站: https://mikanani.me/回味童年的时候可以看看陪娃的时候可以看看二、今日感悟1、女神的错觉女神本质上是女人,她和你一样要吃喝拉撒睡,一样会打喷嚏、打嗝,所以不要因为对方肤白貌美大长腿就有女神的错觉,从而给自己的心里戴上枷锁。2、我从未爱过这个世界,它对我也一样。人还是要多分享。3、出书我们在接受培训的时候,如果讲师只拿PPT给大家,大家都会觉得不值,或者有被骗的感觉这源于远古基因深处对实物的迷恋。书,就是一种实物,目前出版管控,书籍要过审,要版号.

2022-08-10 19:52:08 171258

原创 PC端的阿里云盘搜索工具

PC端的阿里云盘搜索工具

2022-08-09 15:44:31 1997

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除