随笔分类 -  爬虫

摘要:一、接触过几种爬虫模块? urllib,requests 二、robots协议是什么? 规定哪些数据不能爬取,防君子不防小人 request模块没有使用硬性的语法对该协议进行生效 scrapy框架中硬性的语法对该协议进行了生效 三、如何处理验证码 使用三方平台,如云打码、打码兔 四、掌握几种数据解析 阅读全文
posted @ 2020-06-01 17:43 南啾 阅读(180) 评论(0) 推荐(0)
摘要:概念: 监测网站数据更新的情况,只会爬取网站最新更新出来的数据 分析: 指定一个起始url 基于CrawlSpider获取其他页码链接 基于Rule将其他页码链接进行请求 从每一个页码对应的页面源码中解析出每一个电影详情页的url 核心:检测电影详情页的url之前有没有请求过 将爬取过的电影详情页的 阅读全文
posted @ 2020-06-01 17:12 南啾 阅读(118) 评论(0) 推荐(0)
摘要:概念:我们需要搭建一个分布式的集群,让其对一组资源进行分布联合爬取 作用:提升爬取数据的效率 如何实现分布式: 安装一个scrapy-redis的组件 原生的scrapy是不可以实现分布式爬虫的,必须要让scrapy结合着scrapy-redis组件一起实现分布式爬虫 scrapy-redis组件作 阅读全文
posted @ 2020-06-01 15:01 南啾 阅读(152) 评论(0) 推荐(0)
摘要:全站数据爬取的方法 基于spider:手动请求 基于CrawlSpider CrawlSpider的使用: 创建一个工程 cd xxx 创建爬虫文件(Crawlspider): 指令 scrapy genspider -t crawl xxx www.xxx.com 链接提取器 LinkExtrac 阅读全文
posted @ 2020-06-01 13:10 南啾 阅读(190) 评论(0) 推荐(0)
摘要:位置:middlewares.py文件中 一、爬虫中间件 二、下载中间件 1、位置:引擎和下载器之间 2、作用:批量拦截到整个工程中所有的请求和响应 3、拦截请求: UA伪装:写在process_request方法中 # UA池 user_agent_list = [ "Mozilla/5.0 (W 阅读全文
posted @ 2020-06-01 12:35 南啾 阅读(171) 评论(0) 推荐(0)
摘要:位置:middlewares.py文件中 一、爬虫中间件 二、下载中间件 1、位置:引擎和下载器之间 2、作用:批量拦截到整个工程中所有的请求和响应 3、拦截请求: UA伪装:写在process_request方法中 # UA池 user_agent_list = [ "Mozilla/5.0 (W 阅读全文
posted @ 2020-05-29 20:15 南啾 阅读(134) 评论(0) 推荐(0)
摘要:基于scrapy爬取字符串类型的数据和爬取图片类型的数据区别? 字符串:只需要基于xpath进行解析且提交管道进行持久化存储 图片:xpath解析出图片src的属性值,单独的对图片地址发起请求获取图片二进制类型的数据 ImagesPipeline: 只需要将img的src的属性值进行解析,提交到管道 阅读全文
posted @ 2020-05-29 18:06 南啾 阅读(711) 评论(0) 推荐(0)
摘要:一、引擎(Scrapy) 用来处理整个系统的数据流处理, 触发事务(框架核心)二、调度器(Scheduler) 用来接受引擎发过来的请求, 压入队列中, 并在引擎再次请求的时候返回. 可以想像成一个URL(抓取网页的网址或者说是链接)的优先队列, 由它来决定下一个要抓取的网址是什么, 同时去除重复的 阅读全文
posted @ 2020-05-29 12:17 南啾 阅读(200) 评论(0) 推荐(0)
摘要:全站数据爬取就是将网站中某板块下的全部页码对应的页面进行爬取解析 需求:爬取校花网中照片的名称 实现方式: 将所有页面的url添加到start_url列表中(不推荐) 自行手动的进行请求发送(推荐) 手动请求发送 yield scrapy.Request(url=new_url,callback=s 阅读全文
posted @ 2020-05-29 12:02 南啾 阅读(200) 评论(0) 推荐(0)
摘要:基于终端指令: 要求:只可以将parse方法的返回值存储到本地的文本文件中 注意:持久批存储对应的文本文件类型只可以为:('csv', 'pickle', 'json', 'xml', 'jl', 'jsonlines', 'marshal') 指令:scrapy crawl xxx -o file 阅读全文
posted @ 2020-05-29 11:18 南啾 阅读(129) 评论(0) 推荐(0)
摘要:什么是scrapy 爬虫中封装好的一个明星框架 功能:高性能的持久化存储,异步的数据下载,高性能的数据解析,分布式 scrapy框架的基本使用 环境的安装: mac or linux :pip insatall scrapy window: - pip install wheel - 下载twist 阅读全文
posted @ 2020-05-27 13:24 南啾 阅读(165) 评论(0) 推荐(0)
摘要:如果定位的标签存在于iframe标签中,则必须使用switch_to.frame(id) 导入动作链(拖动):from selenium.webdriver import ActionChains 实例化一个动作链对象:action = ActionChains(bro) click_and_hol 阅读全文
posted @ 2020-05-27 10:03 南啾 阅读(299) 评论(0) 推荐(0)
摘要:一、selenium模块和爬虫之间具有怎样的关联 便捷的获取网站中动态加载的数据 便捷实现模拟登录 二、什么是selenium模块 基于浏览器自动化的一个模块 三、selenium使用流程 1、环境安装:pip install selenium -i https://mirrors.aliyun.c 阅读全文
posted @ 2020-05-26 17:28 南啾 阅读(331) 评论(0) 推荐(0)
摘要:一、目的:在爬虫中使用异步实现高性能的数据爬取操作 二、异步爬虫的方式: 1、多线程、多进程(不建议) 好处:可以为相关阻塞的操作单独开启线程或者进程,阻塞操作就可以异步执行 弊端:无法无限制的开启多线程或者多进程 2、线程池、进程池(适当使用) 好处:我们可以降低系统对进程或者线程创建和销毁的一个 阅读全文
posted @ 2020-05-26 14:26 南啾 阅读(120) 评论(0) 推荐(0)
摘要:代理:破解封IP这种反爬机制 什么是代理: 即代理服务器 代理的作用: 突破自身IP访问的限制 可以隐藏自身真实IP 代理相关的网站: 快代理 西祠代理 www.goubanjia.com 代理的类型 http:应用于http协议对应的url中 https:应用到https协议对应的url中 代理i 阅读全文
posted @ 2020-05-26 10:53 南啾 阅读(240) 评论(0) 推荐(0)
摘要:一、xpath解析原理: 实例化一个etree的对象,且需要将被解析的页面源码数据加载到该对象中 调用etree对象中的xpath方法结合着xpath表达式实现标签的定位和内容的捕获 二、环境的安装: pip install lxml 三、如何实例化一个etree对象 from lxml.html 阅读全文
posted @ 2020-05-22 14:33 南啾 阅读(585) 评论(0) 推荐(0)
摘要:bs4数据解析的原理 实例化一个BeautifulSoup对象,并且将页面源码数据加载到该对象中 通过调用BeautifulSoup对象中相关的属性或者方法进行标签定位和数据提取 环境安装: pip install bs4 pip install lxml 如何实例化BeautifulSoup对象 阅读全文
posted @ 2020-05-22 12:59 南啾 阅读(254) 评论(0) 推荐(0)
摘要:import requests import re import os if __name__ == '__main__': # 创建一个文件夹,用来保存所有的图片 if not os.path.exists('./qiutuLibs'): os.mkdir('./qiutuLibs') url = 阅读全文
posted @ 2020-05-22 12:56 南啾 阅读(161) 评论(0) 推荐(0)
摘要:数据解析分类 正则 bs4 xpath(重点) 数据解析原理概述: 解析的局部的文本内容都会在标签或者标签对应的属性中进行存储 进行指定标签的定位 对标签或者标签对应的属性中存储的数据进行提取(解析) 阅读全文
posted @ 2020-05-22 12:54 南啾 阅读(209) 评论(0) 推荐(0)