Scrapy
文章平均质量分 65
eddieHoo
我们一无所成的主要原因是想的太多,而做的太少!
展开
-
Scrapy爬虫工程设计
最近做了一些爬虫的工作,并涉及到了工程的部署和自动化,借此机会整理一下,工程结构如图:image.png工程主要包含4个部分:获取有效代理ip 数据管理 不同任务的spider spider在线调度和管理1.获取有效代理ip代理IP可从国内的几个网站爬取,如西刺。可以肯定免费的代理IP大部分都是不能用的,不然别人为什么还提供付费的(不过事实是很多代理商的付费IP也不稳定,也有很多是不能用)。所以采集回来的代理IP不能直接使用,需要写一个过滤程序去用这些代理访问目标网站,看是.原创 2021-01-07 18:35:58 · 250 阅读 · 0 评论 -
scrapy可视化管理工具spiderkeeper部署
需要安装的库比较多,可以按照步骤,参看上图理解环境准备scrapy:https://github.com/scrapy/scrapyscrapyd:https://github.com/scrapy/scrapydscrapyd-client:https://github.com/scrapy/scrapyd-clientSpiderKeeper:https://github.com/DormyMo/SpiderKeeper安装pip install scrapy scr...原创 2021-01-06 12:24:22 · 533 阅读 · 0 评论 -
Scrapy选择器用法示例
scrapy xpath 属性提取这里先给大家列出xpath的选择器类型,如下表:XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。 下面列出了最有用的路径表达式:表达式 描述 nodename 选取此节点的所有子节点。 / 从根节点选取。 // 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位...原创 2019-11-23 14:17:21 · 197 阅读 · 0 评论 -
用scrapy写爬虫(八)中间件的应用
网易新闻爬取(1)请求处理函数:process_request(self, request, spider) 可以针对url请求指定UA伪装、配置代理等功能(UA伪装可以在settings.py中进行全局配置,代理配置更倾向于在异常处理函数,大部分异常都是因为ip的问题)def process_request(self, request, spider): #U...原创 2019-11-04 11:48:57 · 422 阅读 · 0 评论 -
用scrapy写爬虫(七)存储数据
基于管道的持久化存储 (1)编写爬虫文件进行数据解析 (2)在items.py中定义相关字段(用于存储解析的数据) (3)在爬虫文件中将解析到的数据封装在实例化的item对象中 (4)通过yield将item对象提交到pipelines.py中的管道 (5)在管道中进行任意方式的数据持久化(数据库持久化需要重写两个方法open_spider和close_spider)...原创 2019-11-02 23:28:22 · 516 阅读 · 0 评论 -
用scrapy写爬虫(六)多个任务执行
1、在spiders同级创建任意目录,如:commands2、在其中创建 crawlall.py 文件 (此处文件名就是自定义的命令)crawlall.pyfrom scrapy.commands import ScrapyCommandfrom scrapy.utils.project import get_project_settings class Command...原创 2019-11-01 17:13:52 · 519 阅读 · 0 评论 -
用scrapy写爬虫(五)框架解析
1 Scrapy框架Scrapy是为爬取网站数据,提取结构性数据而编写的应用框架,可以应用在包括数据挖掘,信息处理或存储历史数据等方面。2 Scrapy框架图Scrapy数据流是由执行的核心引擎(engine)控制,流程是这样的:1、爬虫引擎获得初始请求开始抓取。2、爬虫引擎开始请求调度程序,并准备对下一次的请求进行抓取。3、爬虫调度器返回下一个请求给爬虫引擎。4、引擎请求...原创 2019-10-31 16:46:56 · 169 阅读 · 0 评论 -
用scrapy写爬虫(四)利用Flask和ECharts进行数据可视化
前几篇文章,我们对慕课网的课程进行了爬取,本文就对数据进行统计和可视化,让这些数据更直观的展现出来。介绍Flask是基于Python的非常流行的框架之一,主要用于web开发,适合开发中小型项目,易于扩展。Flask的官方网站是http://flask.pocoo.org/。Echarts(http://echarts.baidu.com/)是百度出品的,基于Canvas的,纯...原创 2019-10-30 17:08:25 · 2789 阅读 · 1 评论 -
用scrapy写爬虫(三)爬取慕课网全部免费课程
前两篇文章中,简单用scrapy写了一个小demo,本篇文章主要目标是完整用scrapy爬取,慕课网所有免费的课程、标题、图片、地址、学习人数、难度、方向、分类、时长、评分、评论数等。其实,很简单,在上一次的代码中修改调整一下就好。Spider# -*- coding: utf-8 -*-import scrapyimport jsonfrom urllib import p...原创 2019-10-29 18:19:40 · 1609 阅读 · 2 评论 -
用scrapy写爬虫(二)保存数据到MySql数据库
开始爬取创建Spider,上一篇我们已经创建了ImoocSpider,我们做一下修改,可以连续下一页爬取。 scrapyDemo/spiders目录下的ImoocSpider类:# -*- coding: utf-8 -*-import scrapyfrom urllib import parse as urlparsefrom scrapyDemo.ImoocCourseIte...原创 2019-10-29 17:13:42 · 772 阅读 · 0 评论