爬虫学习
陈弟弟
不知道自己在干嘛
展开
-
爬虫学习笔记18-scrapy项目的管理和部署
1、scrapyd(1)了解scrapd(2)安装:服务端:pip install scrapyd客服端:pip install scrapyd-client(3)启动scrapyd服务①在scrapy项目路径下 启动scrapyd的命令:sudo scrapyd 或 scrapyd②启动之后就可以打开本地运行的scrapyd,浏览器中访问本地6800端口可以查看scrapyd的监控界面③点击job可以查看任务监控界面2、scrapy项目部署(1)配置需要部署的项目:编辑项目的s原创 2020-09-10 18:47:15 · 574 阅读 · 0 评论 -
爬虫学习笔记17-scrapy的日志信息与配置
1. 了解scrapy的日志信息2. scrapy的常用配置ROBOTSTXT_OBEY 是否遵守robots协议,默认是遵守关于robots协议在百度搜索中,不能搜索到淘宝网中某一个具体的商品的详情页面,这就是robots协议在起作用Robots协议:网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,但它仅仅是互联网中的一般约定例如:淘宝的robots协议USER_AGENT 设置uaDEFAULT_REQUEST_HEADERS 设置默认请求原创 2020-09-10 17:02:47 · 311 阅读 · 0 评论 -
爬虫学习笔记16-scrapy_splash组件
1、了解scrapy_splash组件与selenium有点相似,能够模拟浏览器加载js,并返回js运行后的数据;对于页面需要加载渲染时作为一种辅助组件来使用,使用scrapy-splash最终拿到的response相当于是在浏览器全部渲染完成以后的网页源代码;splash官方文档2、scrapy_splash的环境安装(1)在python虚拟环境中安装scrapy-splash包:pip install scrapy-splash(2)使用splash的docker镜像splash的原创 2020-09-10 16:58:26 · 342 阅读 · 0 评论 -
爬虫学习笔记15-scrapy-redis组件
1、了解scrapy-redis分布式管理(1)概念: scrapy_redis是scrapy框架的基于redis的分布式组件【不同的节点(服务器,ip不同)共同完成一个任务】(2)作用: ①断点续爬、②分布式快速抓取(3)原理:在scrapy_redis中,所有的待抓取的request对象和去重的request对象指纹都存在所有的服务器公用的redis中所有的服务器中的scrapy进程公用同一个redis中的request对象的队列所有的request对象存入redis前,都会通过该redi原创 2020-09-10 11:47:58 · 259 阅读 · 0 评论 -
爬虫学习笔记14-scrapy中间件的使用
1、中间件的作用:预处理request和response对象① 对header以及cookie进行更换和处理②使用代理ip等③对请求进行定制化操作注:在scrapy默认的情况下两种中间件都在middlewares.py一个文件;爬虫中间件使用方法和下载中间件相同,且功能重复,通常使用下载中间件2、中间件的使用方法(1)在middlewares.py文件中定义中间件类(2)在中间件中重写处理请求或者响应的方法1)process_request(self, request, spider原创 2020-09-07 20:07:35 · 778 阅读 · 0 评论 -
爬虫学习笔记13-scrapy模拟登陆
1、之前用过的模拟登陆方法(1)request模块模拟登陆①直接携带cookies请求页面②找url地址,发送post(携带登陆用户账号和密码)请求存储cookie(2)selenium模拟登陆找到对应的input标签,输入文本点击登陆2、scrapy框架模拟登陆(1)直接携带cookies(需要先登录上GitHub)1)适用场景①cookie过期时间很长,常见于一些不规范的网站②能在cookie过期之前把所有的数据拿到③配合其他程序使用,比如其使用selenium把登陆之后的cook原创 2020-09-06 15:38:29 · 290 阅读 · 0 评论 -
爬虫学习笔记12-scrapy框架构造发送请求和管道的使用
1、 翻页请求的思路(1)request请求的思路找到下一页的URl——调用request.get(url)(2)scrapy实现翻页找到下一页的URL——构造URL地址的请求对象——传递给引擎2、构造request对象并发送请求(1)实现步骤①确定url地址②构造请求,scrapy.Request(url,callback)③把请求交给引擎:yield scrapy.Request(url,callback)callback:指定解析函数名称,表示该请求返回的响应使用哪一个函数进行解原创 2020-09-05 20:01:53 · 451 阅读 · 0 评论 -
爬虫学习笔记11-scrapy框架入门
1、了解scrapy框架Scrapy文档地址(1)概念: Python编写的开源网络爬虫框架;用于爬取网络数据、提取结构性数据的框架。(2)工作流程 (所有的模块之前相互独立,只和引擎进行交互)流程解析:爬虫中起始的url构造成request对象–>爬虫中间件–>引擎–>调度器调度器把request–>引擎–>下载中间件—>下载器下载器发送请求,获取response响应---->下载中间件---->引擎—>爬虫中间件—>爬虫爬原创 2020-09-05 10:44:34 · 221 阅读 · 0 评论 -
爬虫学习笔记10-MongoDB聚合、索引、权限管理以及与Python交互
1、mongodb的聚合操作2、Mongodb的索引操作3、Mongodb的权限管理4、mongodb和python交互原创 2020-09-01 16:13:34 · 235 阅读 · 0 评论 -
爬虫学习笔记9-MongDB了解以及数据库操作增删改查
一、了解MongoDB并安装1、了解MongoDB(1)关系型数据库和非关系型数据库NOSQL(非关系型数据库): 数据库>集合>文档1)NoSQL则可以把外部数据直接放到原数据集中,以提高查询效率。缺点也比较明显,对关联数据做更新时会比较麻烦。2)NoSQL中的一个集合(表)中的每条文档(数据)的key(字段)可以是互不相同的。SQL(关系型数据库): 数据库>表>数据1)需要增加外部关联数据的话,规范化做法是在原表中增加一个外键,关联外部数据表。2)SQL中在一原创 2020-09-01 16:13:07 · 162 阅读 · 0 评论 -
爬虫学习笔记7-谷歌浏览器在爬虫中的常用方法
1、新建隐形窗口作用:使用隐身窗口,首次打开网站,不会带上cookie;能够观察页面的获取情况,包括对方服务器如何设置cookie在本地。2、network功能Perserve log:默认情况下,页面发生跳转之后,之前的请求url地址等信息都会消失,勾选perserve log后之前的请求都会被保留;filter过滤:在url地址很多的时候,可以在filter中输入部分url地址,对所有的url地址起到一定的过滤效果;观察特定种类的请求:默认是选择的all,即会观察到所有种类的请求原创 2020-08-26 13:54:29 · 810 阅读 · 0 评论 -
爬虫学习笔记6-图片验证码处理
图片验证码处理(1)图片验证码的处理方案手动输入(input)这种方法仅限于登录一次就可持续使用的情况图像识别引擎解析使用光学识别引擎处理图片中的数据,目前常用于图片数据提取,较少用于验证码处理打码平台爬虫常用的验证码解决方案(2)图片识别引擎OCR(Optical Character Recognition)是指使用扫描仪或数码相机对文本资料进行扫描成图像文件,然后对图像文件进行分析处理,自动识别获取文字信息及版面信息的软件。tesseractTesseract,一款由HP原创 2020-08-24 18:24:24 · 760 阅读 · 0 评论 -
爬虫学习笔记5-常见的反爬虫手段和解决思路
一、常见基于身份识别进行反爬1、 通过headers字段来反爬服务器通过 headers字段进行判断是否为爬虫1.1 通过headers中的User-Agent字段来反爬反爬原理:爬虫默认情况下没有User-Agent,而是使用模块默认设置解决方法:请求之前添加User-Agent即可;更好的方式是使用User-Agent池来解决(收集一堆User-Agent的方式,或者是随机生成User-Agent)1.2 通过referer字段或者是其他字段来反爬反爬原理:爬虫默认情况下不会带上原创 2020-08-24 17:20:39 · 507 阅读 · 0 评论 -
爬虫学习笔记4-selenium
1、了解seleniumSelenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,Selenium 可以直接调用浏览器,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器),可以接收指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏等。2、selenium的工作原理工作原理:代码——调用webdriver——操作浏览器利用浏览器原生的API,封装成一套更加面向对象的Selenium WebDriver API,直接操作浏览器页面里的元素,甚至操作浏览器本身(截原创 2020-08-24 15:49:47 · 531 阅读 · 0 评论 -
爬虫学习笔记3-Json-path、Xpath数据提取
1、数据提取-响应内容的分类(1)结构化响应json字符串:使用re、json、jsonpath等模块来提取特定数据(高频出现)xml字符串:使用re、lxml等模块来提取特定数据(低频出现)(2)非机构化响应html字符串:可以使用re、lxml等模块来提取特定数据1、xml和html的区别:html:超文本标记语言为了更好的显示数据,侧重点是为了显示xml:可扩展标记语言为了传输和存储数据,侧重点是在于数据内容本身2、常用数据解析方法:2原创 2020-08-21 12:10:51 · 1820 阅读 · 0 评论 -
爬虫学习笔记2-爬虫基础requests模块
1、request模块(1)安装request模块:pip/pip3 install requests(2)request模块发送get请求 import requests # 目标url url = 'https://www.baidu.com' # 向目标url发送get请求 response = requests.get(url) # 打印响应内容 print(response.text)...原创 2020-08-19 15:42:24 · 541 阅读 · 0 评论 -
爬虫学习笔记1-了解爬虫以及Http协议
1.了解爬虫爬虫的概念:模拟浏览器,发送请求,获取响应爬虫的作用:数据采集、软件测试、网络安全……爬虫的分类:通用爬虫: 搜索引擎的主要组成,作用就是将互联网的上页面整体的爬取下来之后,保存到本地聚焦爬虫: 聚焦爬虫在实施网页抓取时会对内容进行处理筛选,尽量保证只抓取与需求相关的网页信息。爬虫的流程:1)获取一个url2)向url发送请求,并获取响应(需要http协议)3)如果从响应中提取url,则继续发送请求获取响应4)如果从响应中提取数据,则将数据进行保存爬虫遵循的协议:ro原创 2020-08-18 10:14:19 · 390 阅读 · 0 评论