随笔分类 - scrapy
摘要:1.接触过几种爬虫模块: urllib, requests 2.robots协议是什么: requests模块没有使用硬性的语法对该协议进行生效。 scrapy硬性语法对该协议进行了生效 3.如何处理验证码: 云打码平台 打码兔 4.掌握几种数据解析的方式: 正则、xpath、 bs4 5.如何爬取
阅读全文
摘要:UA池(每一次请求采用池中的随机UA) a) 在中间件类中进行导包 b)封装一个基于UserAgentMiddleware的类,且重写该类 例: middleware.py settings.py 代理池(IP 每次请求的IP地址随机从IP池中获取) middleware.py
阅读全文
摘要:大多数在主体内容放在js代码里,想要爬取网页的整个内容 在scrapy里面应用selenium wangyiPro.py 通过spider传递 middleware.py 里面加入selenium操作
阅读全文
摘要:1.基于RedisSpider实现的分布式爬虫(网易新闻) a) 代码修改(爬虫类): i.导包: from scrapy_redis.spiders import RedisSpider ii. 将爬虫类的父类修改成RedisSpider iii. 将起始url列表注释,添加一个redis_key
阅读全文
摘要:1.概念:多台机器上可以执行同一个爬虫程序,实现网站数据的分布爬取。 2.原生的scrapy 是不可以实现分布式爬虫? a) 调度器无法共享 b) 管道无法共享 3. scrapy-redis 组件:专门为scrapy 开发的一套组件。该组件可以让scrapy 实现分布式 a) 下载:pip ins
阅读全文
摘要:rules: 有经验的同学都知道它是一个列表,存储的元素时Rule类的实例,其中每一个实例都定义了一种采集站点的行为。如果有多个rule都匹配同一个链接,那么位置下标最小的一个rule将会被使用。 __init__: 在源码中可以看到,它主要就是执行了_compile_rules方法,这边暂时不讲。
阅读全文
摘要:创建基于CrawlSpider的爬虫文件 scrapy genspider -t crawl 爬虫名称 链接 注意follow参数 例1:follow = False spider/chouti.py 执行结果 : 没有允许链接提取器继续在提取到的链接中继续作用 例2: follow = True
阅读全文
摘要:以爬取某电影网的电影列表以及子链接中的信息为例子 spiders/parndemo.py pipelines.py settings.py items.py
阅读全文
摘要:日志等级(种类): ERROR:错误 WARNING: 警告 INFO:一般信息 DEBUG:调试信息(默认) 指定输入某一中日志信息: settings.py中添加LOG_LEVEL = "ERROR" 将日志信息存储到制定文件中,而并非显示在终端里: settings.py: LOG_FILE
阅读全文
摘要:下载中间件作用: 拦截请求,可以将请求的ip进行更换 流程: 1.下载中间件类的自制定 a) object b) 重写process_request(self, request, spider)的方法 2.配置文件中进行下载中间价的开启 middlewares.py settings.py里开启中间
阅读全文
摘要:import scrapy class CookiedemoSpider(scrapy.Spider): name = 'cookiedemo' # allowed_domains = ['www.douban.com'] start_urls = ['https://www.douban.com/accounts/login/'] def parse(se...
阅读全文
摘要:scrapy发起post请求的两种方式 一定要对start_requests方法进行重写 1.Request方法中给method属性复制成post 2.FormRequest()进行post请求的发送 方法1(不建议使用): 方法2(推荐用scrapy.FormRequest):
阅读全文
摘要:需求:将爬取到的数据值分别存储到本地磁盘、redis数据库、mysql数据。 1.需要在管道文件中编写对应平台的管道类 2.在配置文件中对自定义的管道类进行生效操作(在pipelines里面定义的类,加进settings.py里面 pipelines对应的里面,后面数字大小无所谓) pipeline
阅读全文
摘要:持久化存储操作: a.磁盘文件 a) 基于终端指令 i. 保证parse方法返回一个可迭代类型的对象(存储解析到的页面内容) ii. 使用终端指令完成数据存储到指定磁盘文件的操作 1. scrapy crawl 爬虫文件名称 -o 磁盘文件.后缀 如(test.csv) b)基于管道 i. item
阅读全文
摘要:1.创建一个工程: scrapy startproject 工程名称 1. 目录结构: 2.在工程目录下创建一个爬虫文件 1.cd 工程 2. scrapy genspider 爬虫文件的名称 起始的url 3.对应的文件中编写爬虫程序来完成爬虫的相关操作 4.配置文件的编写 修改 将setting
阅读全文
摘要:1、安装wheel pip install wheel 2、安装lxml https://pypi.python.org/pypi/lxml/4.1.0 3、安装pyopenssl https://pypi.python.org/pypi/pyOpenSSL/17.5.0 4、安装Twisted https:...
阅读全文

浙公网安备 33010602011771号