随笔分类 - 爬虫
摘要:代码 # Define here the models for your spider middleware # # See documentation in: # https://docs.scrapy.org/en/latest/topics/spider-middleware.html imp
阅读全文
摘要:背景:解析 站长素材首页的图片 看程序执行 在我执行完程序之后显示爬取成功 但是并没有爬取到图片 找错过程 把settings中的LOG_LEVEL = "ERROE"改成WARNING 就发现了警告信息 于是我又进行输出url 发现了本身爬取的url没有问题 但是用Request解析的时候就发现了
阅读全文
摘要:笔记 - 图片数据爬取之ImagesPipeline - 基于scrapy爬取字符串类型的数据和爬取图片类型的数据区别? - 字符串:只需要基于xpth进行解析且提交管道进行持久化存储 - 图片:xpath解析出图片src属性值。单独的对图片地址发起请求获取图片二进制类型的数据 - ImagesPi
阅读全文
摘要:- 五大核心组件: - 引擎(Engine) 用作于数据流处理 可以触发事务 - 调度器(Scheduler):请求对象去重 并压入队列,并在引擎再次请求的时候返回,可以想象成一个url的优先队列,由他来决定下一个要抓取的网址是什么,同时去除重复的网址 - 过滤器 - 队列 - 下载器(Downlo
阅读全文
摘要:-基于Spider的全站数据爬取 - 就是将一个网站上的所有数据全部爬取下来 - 实现方法: - 将所有页面的url添加到start_urls 列表 (不推荐) - 自行手动进行请求发送(推荐): -手动发送请求: - yield scrapy.Request(url=url,callback=se
阅读全文
摘要:笔记 如何将爬取到的数据一份存储到本地一份存储到数据库? - 创建一个管道类 - 爬虫文件提交到的item指挥给管道文件中的第一个被执行的管道类接收 - process_item方法中的return item表示将item提交给下一个管道类 在pipelines类中加入MysqlPiplines类
阅读全文
摘要:笔记 - 基于管道: - 编码流程 -数据解析 - 在item类中定义相关的属性 - 将解析的数据封装到item对象中 - 将item类型的对象提交给管道进行持久化存储 - 在管道类的process_item中要将其接收到的item对象中存储的数据进行持久化存储 - 在配置文件中开启管道 - 好处:
阅读全文
摘要:笔记 - 基于终端指令: - 要求:只可以将parse方法的返回值存储到本地的文本文件中 scrapy crawl dou -o ./douban.csv - 注意:持久化存储的类型只可以是'json', 'jsonlines', 'jsonl', 'jl', 'csv', 'xml', 'mars
阅读全文
摘要:import scrapy class DouSpider(scrapy.Spider): name = "dou" #allowed_domains = ["www.douban.com"] start_urls = ["https://www.douban.com/doulist/1136522
阅读全文
摘要:scrapy框架 - 什么是框架 - 就是集成了很多功能并且具有很强通用性的一个项目模板 - 如何学习框架 - 专门学习框架封装的各种功能的详细用法 - 什么是scrapy - 爬虫中封装好的一个明星框架。 - 功能:高性能的持久化存储,异步的数据下载,高性能的数据解析,分布式部署 - scrapy
阅读全文
摘要:- 超级鹰 -注册:普通用户 -登录:普通用户 -题分查询:充值 - 创建一个软件(id) - 下载实例代码 - 下载核心代码 利用超级鹰进行图片验证的模拟登录 from selenium import webdriver from selenium.webdriver.common.keys im
阅读全文
摘要:from selenium import webdriver from time import sleep from selenium.webdriver.chrome.options import Options from selenium.webdriver import ChromeOptio
阅读全文
摘要:from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By from time import sleep web_
阅读全文
摘要:- 如果定位的标签在iframe中,需要先切换到iframe中 - 切换到iframe: driver.switch_to.frame('iframe的id属性值') -动作链(拖动):from selenium.webdriver import ActionChains - 实例化一个动作链对象
阅读全文
摘要:笔记 selenium 模块的基本使用 问题:selenium模块和爬虫之间具有怎样的关联 - 便捷的获取网站中动态加载的数据 - 便捷实现模拟登录 什么是selenium模块? - 基于浏览器自动化的一个模块 selenium使用流程: - 环境的安装 pip install selenium -
阅读全文
摘要:这个爬虫做了很久 有几个问题 1.防盗链的问题:如下图所示Referer 这个就是回溯上一个网页 如果上一个网页不是Referer就会报错 这个就是我没有从那个网页访问的结果 2.在我自己爬取的时候不知道mrd是什么东西 以为跟countId一样是一个标识的东西 结果这只是一个随机的数 代码 # 防
阅读全文
摘要:# 登录 -> 得到cookie # 带着cookie去访问 -> 得到数据 # 必须得把上面两个操作连起来 # 我们可以使用session进行请求 -> session 你可以认为是一连串的请求,在这个过程中的cookie不会丢失 说一说过程中遇到的问题: 刚开始我按着视频做的时候他没有heade
阅读全文
摘要:高性能异步爬虫 目的:在爬虫中使用异步实现高性能的数据爬取 异步爬虫的方式: - 多线程,多进程(不建议) 好处:可以为相关阻塞的操作单独开启线程或者进程,阻塞操作就可以异步执行 弊端:无法无限制的开启多线程或者多进程 - 线程池 进程池 好处:我们可以降低创建线程和销毁线程的频率,从而降低系统的开
阅读全文
摘要:from lxml import etree import requests #爬取所有城市名称 if __name__ == '__main__': url = 'https://www.aqistudy.cn/historydata/' headers = { 'User-Agent':'Moz
阅读全文
摘要:from lxml import etree import requests import os # 爬取彼岸图库中的图片数据 if __name__ == '__main__': #爬取到页面源码数据 url = 'https://pic.netbian.com/4kmeinv/' headers
阅读全文