随笔分类 - 爬虫学习
摘要:from selenium.webdriver.chrome.options import Optionsfrom selenium import webdriver # 无界面模式def ChromeDriverNOBrowser(): chrome_options = Options() chr
阅读全文
摘要:urllib是python内置的处理HTTP请求的库,主要包含以下四个模块 request 模块,是最基本的处理HTTP请求的模块。 error 异常处理模块,如果出现请求错误,可以捕获这些错误,保证程序不会意外终止。 parse 模块是一个工具模块,提供了处理url的很多方法。拆分,解析,合并等等
阅读全文
摘要:使用urllib的urljoin()拼接两个地址 urlljoin的第一个参数是基础母站的url,第二个是需要拼接成绝对路径的url。
阅读全文
摘要:原文链接:https://blog.csdn.net/shijing_0214/article/details/51971734 使用python的时候,经常会遇到文本编码的问题,其中最常见的就是“'gbk' codec can't decode byte 0xad in position 12:
阅读全文
摘要:response.text : 返回一个字符串\n",content : 返回二进制\n",json() : 返回对象"
阅读全文
摘要:selenium : 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏
阅读全文
摘要:什么是数据分析? 就是将一些杂乱无章的数据中将信息提取出来,总结所研究对象的内在规律。 数据分析的三剑客? Numpy Pandas Matplotlib Numpy是干嘛的? 是Python语言扩展的一个程序库,支持大量的维度数据与矩阵运算,此外页针对数组运算提供了大量的数学函数库。 开始创建nd
阅读全文
摘要:概念:通过爬虫检测某网站的更新情况,以便可以爬取最新的数据。 如何进行增量式的爬虫工作? 在发送请求之前判断这个url是不是被之前爬取过 在解析内容后判断这部分内容是不是之前爬取过 在写入存储介质的时候,判断内容是不是已经在介质中存在 分析: 不难发现,其实增量爬取的核心是去重, 至于去重的操作在哪
阅读全文
摘要:问题: 为什么原生的scrapy不能实现分布式? 调度器不能被共享 管道无法被共享 scrapy-redis组件的作用是什么? 提供了可以被共享的调度器和管道 调度器不能被共享 管道无法被共享 提供了可以被共享的调度器和管道 实现分布式爬虫的流程? 【需求】爬取抽屉网中的标题和作者 代码部分: ch
阅读全文
摘要:作用:基于全栈数据的爬取。 首先创建项目 scrapy startproject choutiPro cd choutiPro scrapy genspider -t crawl chouti www.xxx.com scrapy startproject choutiPro cd choutiPr
阅读全文
摘要:在配置文件中修改相关参数: 增加并发 默认的scrapy开启的并发线程为32个,可以适当的进行增加,再配置文件中修改CONCURRENT_REQUESTS = 100值为100,并发设置成了为100。 降低日志等级 在scrapy运行的时候,会输出大量的日志信息,为了减少cpu的使用率,可以设置lo
阅读全文
摘要:引入 在通过scrapy框架进行某些网站数据爬取的时候,往往会碰到页面动态数据加载的情况发生,如果直接使用scrapy对其url发请求,是绝对获取不到那部分动态加载出来的数据值。但是通过观察我们会发现,通过浏览器进行url请求发送则会加载出对应的动态加载出的数据。那么如果我们想要在scrapy也获取
阅读全文
摘要:五大核心组件的工作流程 引擎(Scrapy) 用来处理整个系统的数据流处理, 触发事务(框架核心) 调度器(Scheduler) 用来接受引擎发过来的请求, 压入队列中, 并在引擎再次请求的时候返回. 可以想像成一个URL(抓取网页的网址或者说是链接)的优先队列, 由它来决定下一个要抓取的网址是什么
阅读全文
摘要:一.Scrapy的日志等级 - 在使用scrapy crawl spiderFileName运行程序时,在终端里打印输出的就是scrapy的日志信息。 - 日志信息的种类: - 设置日志信息指定输出: 在settings.py配置文件中,加入 LOG_LEVEL = ‘指定日志信息种类’即可。 LO
阅读全文
摘要:1 什么是Fiddler? Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,
阅读全文
摘要:一.什么是图片懒加载? 案例分析:抓取站长素材http://sc.chinaz.com/中的图片数据 运行结果观察发现,我们可以获取图片的名称,但是链接获取的为空,检查后发现xpath表达式也没有问题,究其原因出现在哪里呢? 图片懒加载概念: 图片懒加载是一种网页优化技术.图片作为一种网络资源,在被
阅读全文
摘要:云打码实现处理验证码 处理验证码,我们需要借助第三方平台来帮我们处理,个人认为云打码处理验证码的准确度还是可以的 首先第一步,我们得先注册一个云打码的账号,普通用户和开发者用户都需要注册一下 然后登陆普通用户,登陆之后的界面是这样的, 你需要有几分才可以使用它. 第二步登陆开发者用户: 然后点击开发
阅读全文
摘要:基于如下5点展开requests模块的学习 什么是requests模块 requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求。功能强大,用法简洁高效。在爬虫领域中占据着半壁江山的地位。 为什么要使用requests模块 因为在使用urllib模块的时候,会
阅读全文
摘要:1.基于终端指令的持久化存储 保证爬虫文件的parse方法中有可迭代类型对象(通常为列表or字典)的返回,该返回值可以通过终端指令的形式写入指定格式的文件中进行持久化操作。 2.基于管道的持久化存储 scrapy框架中已经为我们专门集成好了高效、便捷的持久化操作功能,我们直接使用即可。要想使用scr
阅读全文