随笔分类 -  spider

1
摘要:这期间,已经使用了 User-Agent,并且源连接直接在浏览器打开并不跳转,也使用requests测试,发现并没有被重定向。 搜索很久很久无果,然后无奈开始关注 [scrapy.downloadermiddlewares.redirect] DEBUG 这个东西难道是我开启了某个配置,检查完并没有 阅读全文
posted @ 2020-03-30 00:02 tulintao 阅读(6071) 评论(1) 推荐(0)
摘要:在Mac中操作没有出现任何的问题,当将代码运行在Windows环境中的时候出现了每一行数据之间都隔了一个空行,只需要在打开文件的时候加上newline=''就👌了。 阅读全文
posted @ 2020-01-13 09:19 tulintao 阅读(994) 评论(0) 推荐(0)
摘要:CrawlSpider类通过一些规则(rules),使对于链接(网页)的爬取更具有通用性,换句话说CrawlSpider爬虫是通用性爬虫,那么Spider爬虫就更像是为了一些特殊网站制定的爬虫 创建一个工程: scrapy startproject crawlspider scrapy genspi 阅读全文
posted @ 2019-10-15 19:09 tulintao 阅读(222) 评论(0) 推荐(0)
摘要:什么是爬虫: 爬虫也就是网络爬虫(Web Spider)。翻译过来就是在网络上爬行的蜘蛛🕷️,这时候如果把互联网看成是一张大网来的话,那么爬虫就是在大网上爬来爬去的蜘蛛,根据想要的东西,就将它提取出来 我们在浏览器中输入一个网址,点击了回车,就可以看到网页上的信息。这个其实就是浏览器通过请求网站的 阅读全文
posted @ 2019-10-14 10:20 tulintao 阅读(180) 评论(0) 推荐(0)
摘要:Spiders: 负责处理所有的response,从这里面分析提取数据,获取Item字段所需要的数据,并将需要跟进的URL提交给引擎,再次进入到Scheduler调度器中 Engine: 框架的核心,负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号 阅读全文
posted @ 2019-10-05 16:10 tulintao 阅读(2467) 评论(2) 推荐(0)
摘要:使用python的requests开发爬虫程序的时候,经常需要将之前请求返回的cookie值作为下一个请求的cookie进行调用,比如模拟登录之后的返回的sessionID,就是需要作为后续请求的cookie参数 分成三步走: 1、通过requests模块导入 from requests.cooki 阅读全文
posted @ 2019-10-05 11:05 tulintao 阅读(7096) 评论(0) 推荐(0)
摘要:1、准备好爬虫程序 2、修改项目配置 找到项目配置文件scrapy.cnf,将里面注释掉的url解开来 本代码需要连接数据库,因此需要修改对应的数据库配置 其实就是将里面的数据库地址进行修改,变成远程数据库服务器地址,需要保证scrapy服务器能够连接数据库服务器 3、部署项目 在部署项目之前要保证 阅读全文
posted @ 2019-10-03 23:07 tulintao 阅读(1424) 评论(0) 推荐(0)
摘要:1、JS写的cookie 当我们要写爬虫爬某个网页里面的数据的时候,无非就是发开网页,然后查看源代码,如果html里面有我们要的数据的话,那样也就简单了,直接就可以用requests请求网址得到网页源码,然后解析提取一下我们要的内容就可以了 requests得到的网页是一对JS,跟浏览器打开看到的网 阅读全文
posted @ 2019-10-02 01:46 tulintao 阅读(7035) 评论(2) 推荐(0)
摘要:爬虫: 我们为了获得任何信息而采用任何手段对某一个网站进行的‘攻击’行为,之所以称之为‘攻击行为’,主要是因为我们对网站的爬虫过程会对网站造成不同程度上的影响。而爬虫与我们手动点击访问网站数据的区别主要就在于这个是批量的操作 反爬虫: 网站为了维护自己的核心安全而采取的抑制爬虫的手段 常见的反爬机制 阅读全文
posted @ 2019-10-01 00:02 tulintao 阅读(606) 评论(1) 推荐(0)
摘要:安装模块:pip3 install retrying 使用方式: 例子: 首先导入了retry模块 然后装饰了一个run函数,函数中很简单,主要就是通过raise跑出了一个异常,执行这个代码 我们可以发现,程序打印了五次开始重试,最后一次抛出异常,NameError,那么到了这里我们就可以感受到,就 阅读全文
posted @ 2019-09-28 20:54 tulintao 阅读(1729) 评论(0) 推荐(0)
摘要:import asyncio from pyppeteer import launch async def main(): browser = await launch() page = await browser.newPage() await page.setViewport(viewport={'width': 1280, 'height': 800}) # 是否启用js await pag 阅读全文
posted @ 2019-09-28 15:27 tulintao 阅读(651) 评论(0) 推荐(0)
摘要:安装selenium 网页元素定位 节点交互: 动作链 执行js 例如下拉进度条,可以直接模拟运行JavaScript,适用execute_script()即可实现 获取节点信息 获取文本值 输出id、位置、标签名、大小 界面切换 延时等待(隐式等待) 显式等待 Cookies 阅读全文
posted @ 2019-09-27 19:02 tulintao 阅读(355) 评论(0) 推荐(0)
摘要:scrapy是一个python爬虫框架,爬取的效率极高,具有高度的定制性,但是不支持分布式。而scrapy-redis是一套基于redis库,运行在scrapy框架之上的组件,可以让scapy支持分布式策略 Slaver端共享Master端redis数据库里的item 队列、请求队列和请求指纹集合。 阅读全文
posted @ 2019-09-27 18:47 tulintao 阅读(2446) 评论(0) 推荐(1)
摘要:首先要说一下scrapy-redis 配置文件settings主要配置Scrapy_Redis的功能,其中配置SCHEDULER是改变Scrapy原有的调度器。当项目运行的时候,Scrapy从配置文件中读取配置信息,根据配置信息运行Scrapy_Redis的功能,使得整个项目的调度器Schedule 阅读全文
posted @ 2019-09-26 21:07 tulintao 阅读(648) 评论(0) 推荐(0)
摘要:能够利用redis缓存数据库的优点去重来避免数据的大面积冗余 1、首先就是要创建猫眼爬虫项目 2、进入项目内部创建一个爬虫文件 创建完文件之后就是要爬取的内容,我这边以爬取猫眼电影的title和link为例(这个完全看个人你可以先去写爬虫,然后再来写items文件) 3、编写item文件 4、编写爬 阅读全文
posted @ 2019-09-17 08:50 tulintao 阅读(431) 评论(0) 推荐(0)
摘要:爬虫的本质: 很多搞爬虫的总爱吹嘘分布式爬虫,仿佛只有分布式才有逼格,不是分布式简直不配叫爬虫,这是一种很肤浅的思想。 分布式只是提高爬虫功能和效率的一个环节而已,它从来不是爬虫的本质东西。爬虫的本质是网络请求和数据处理,如何稳定地访问网页拿到数据,如何精准地提取出高质量的数据才是核心问题。分布式爬 阅读全文
posted @ 2019-09-11 15:45 tulintao 阅读(324) 评论(0) 推荐(0)
摘要:爬虫是一个相对来说比较容易上手的技术,也许你画个几分钟就可以将一整个网页上的数据得到,但是如果对于大规模的爬虫就是另外一回事了,这个并不是1*n的问题这么简单的,在这里面还会产生很多别的问题。 这是一个大规模爬虫的流程图: 先检查是否有API: API是网站官方提供的数据接口,如果通过调用API采集 阅读全文
posted @ 2019-09-11 15:25 tulintao 阅读(897) 评论(0) 推荐(0)
摘要:baidu_images: 1、首先百度图片的cookie是一个静态的,所以我们只需要发送一次请求就可以得到这个cookiele 2、打开开发者工具,不断刷新页面,得到一个具体的url,然后分析url中的参数(这里面的参数一定要好好分析,因为这里面的有些字段是不需要的) 3、分析完成之后,就是对页面 阅读全文
posted @ 2019-09-09 17:41 tulintao 阅读(692) 评论(0) 推荐(0)
摘要:1、分析整个网页 首先需要获取到cookies,因为它是动态的,所以每隔一段时间都需要进行重新的获取 2、发送请求 当你获取到指定时间段的cookie之后,下一步要做的就是通过整个cookie和url放在一起朝服务器发送请求,获取到服务器发送出来的数据(得到之后需要使用json进行反序列化) 3、对 阅读全文
posted @ 2019-09-09 14:16 tulintao 阅读(545) 评论(0) 推荐(0)
摘要:1、分析今日头条 在看头条的时候可以发现展示出来的页面的数据都是一些封装过的js代码或者css代码,所以这时候就需要考虑页面的数据是不是封装在cookie里面了 回过头去看cookie就可以发现有一个s_v_web_id的cookie字段,然后上去一试就得到了当前网页的真是源代码,所以我们就可以根据 阅读全文
posted @ 2019-09-08 14:56 tulintao 阅读(908) 评论(0) 推荐(0)

1