Scrapy爬虫小demo总结

一、 Scrapy入坑。

a)       Scrapy的安装。

这个没什么可讲的,网上一大把。

注意的问题,可能我下载的是32位的python,出现了pywin32没法用的情况,这个直接pip install pypiwin32 就好。

b)       安装验证。

scrapy genspider baidu www.baidu.com 建立一个爬百度的爬虫。

scrapy crawl baidu

成功爬取数据。

c)        Scrapy项目创建:

首先进入要创建项目的目录:cd xxx

然后进行创建:scrapy startproject demo1(项目名字是demo1)

进入项目目录,进行抓取目标的设置:cd demo1;

scrapy genspider demo1demo quotes.toscrape.com

上面的两步设置好了之后,就有如下结构:

然后我使用的pycharm编译器,,,在命令行。这里

输入命令进行爬取,

注意,,,我在生成的文件中使用了中文注释,然后就报编码错误,所以文件汇总得保证英文环境。

二、 Scrapy基本使用

经过如上的折腾,scrapy总算是可以大概跑起来了,接下来我们来看看怎么使用(emmmm,说实话我也用的不好,说个大概吧,就是记录下这个磨人的小demo)。

好,我们从使用的第一步说起,首先,设置爬取网址:

(打码真好看,^_<)

然后就是函数回调,scrapy.Request()方法,这个方法就是scrapy爬虫的核心,第一个参数是访问的url,第二个是回调函数,就是访问后返回了信息就会调用的函数,这个函数需要自己写,随便写一个,但是参数必须有response,那个这个函数里面就可以使用这个response了,这个response就是返回的响应,可以打印respons.text,得到的结果就是网页的数据,于是,我们要做的就是解析这个网页数据。那么这个网页数据怎么解析呢?好了,看看图吧,说着太抽象了。

如上,这些方法透过dom树来解析,然解析完了,拿到相应的连接可以继续爬。诶呀,这个部分也就没什么说的了。

三、 Scrapy文件说明。

这就是整个scrapy的文件,init不说(说不好,自己菜)那么middlewares是什么?是中间件,在里面写一些中间调用的类,这个我不做强行解释,毕竟我就懂个大概,出问题我也不会调。Pipelines这个呢是用来写数据库什么的,最后一个settings,一看就知道是设置,比如设置延迟,可以在里面写,当然有些常量也可以在里面写,

看清楚了,头也要在里面写,请求头。,emmmm就这些。

四、 Scrapy的使用注意。(就是我该注意的,跟其他人没关系,毕竟我是新手)

对了这个爬虫我是在教程里面抄的,自己根据需求做了小小的修改,也就大概懂,呸,大概都没有。教程里面是通过什么维护了一个cookie池,买了几百个小号轮流抓,我就没有那么有钱,没买小号,所以,我就一个cookie,但是也得模仿别人去cookie池子里面拿,不然跑不起我还不会解,于是我就用springboot(这是java的一个微服务架构)搭了个简单的服务器,然后我每次请求这个服务器就返回一个cookie的json串给我,那么我就可以肆无忌惮的使用他了。一个cookie我抓了200个数据就被封Ip了,好尴尬呀,为了做一个文明了爬虫,我设置了延迟,这样没有被封号,真是惊险呀,time.sleep(),线程睡眠。

五、 爬取数据处理。

这个没必要说的,不是scrapy,因为是一个demo,所以就在这里记录下,我爬的时候使用.json文件保存,因为json最整齐,没有乱码,我很喜欢。

那么对于json文件的处理,那就简单了,直接读,然后使用字典类型算了截个小图把,废话就不说了

嗯嗯,然后就可以了,真是劳累的几天呀。

原文地址:https://www.cnblogs.com/luohuayu/p/8974476.html

时间: 2024-10-03 20:54:57

Scrapy爬虫小demo总结的相关文章

爬虫小demo

运用apache httpclient爬数据.httpcleaner解析爬回来的数据: package cn.sniper.spider.util; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnect

jsoup爬虫简书首页数据做个小Demo

昨天LZ去面试,遇到一个大牛,被血虐一番,发现自己基础还是很薄弱,对java一些原理掌握的还是不够稳固,比如java反射注解,知道一点就是说不出来,很尴尬- 生命不止,学习不止啊 之前那个项目 QNews 用的是的第三方的数据平台,所以访问次数会有限制,这就很无奈... 我的博客地址 每天只能请求100次-.但是LZ这个穷屌丝也买不起服务器,所以就上网查,有什么别的方法可以获取数据,意外之间发现了jsoup这个强大的框架,就花了上午时间学习了一下,然后下午做了一个小Demo,功能比较单一,请见谅

Scrapy爬虫Demo 爬取资讯分类

爬取新浪网导航页所有下所有大类.小类.小类里的子链接,以及子链接页面的新闻内容. 效果演示图: items.py import scrapy import sys reload(sys) sys.setdefaultencoding("utf-8") class SinaItem(scrapy.Item): # 大类的标题 和 url parentTitle = scrapy.Field() parentUrls = scrapy.Field() # 小类的标题 和 子url subT

dota玩家与英雄契合度的计算器,python语言scrapy爬虫的使用

首发:个人博客,更新&纠错&回复 演示地址在这里,代码在这里. 一个dota玩家与英雄契合度的计算器(查看效果),包括两部分代码: 1.python的scrapy爬虫,总体思路是page->model->result,从网页中提取数据,组成有意义的数据结构,再拿这数据结构做点什么. 在这个项目中,爬虫的用处是从游久网dota数据库上抓取dota英雄和物品的数据和照片存到本地磁盘,数据存为json格式,方便在网页应用中直接使用. 2.网页应用,使用dota英雄数据.自己编写的小伙

Scrapy爬虫学习,及实践项目。

作为初学者,首先贴出自己看到的一个教程所提供的实例..后边会讲解我自身所完成的项目说明. 我自己所做项目下载地址为:Scrapy爬虫项目 自己项目说明: 爬取某网站流行时尚网页项目,并对具体项目内容进行二次爬取,将爬取到的内容拼接成为新的静态html,存入自身Ftp服务器,并将信息提交到某接口..(接口中进行数据操作.接口部分未上传) 示例 scrapy爬取了链接之后,如何继续进一步爬取该链接对应的内容? parse可以返回Request列表,或者items列表,如果返回的是Request,则这

【转载】Scrapy安装及demo测试笔记

Scrapy安装及demo测试笔记 原创 2016年09月01日 16:34:00 标签: scrapy / python Scrapy安装及demo测试笔记 一.环境搭建 1. 安装scrapy:pip install scrapy 2.安装:PyWin32,可以从网上载已编译好的安装包:http://www.lfd.uci.edu/%7Egohlke/pythonlibs/#pywin32 安装完之后会报如下错误 解决办法,把以下两个文件拷贝到C:\Windows\System32目录下 二

手把手教你如何新建scrapy爬虫框架的第一个项目(下)

前几天小编带大家学会了如何在Scrapy框架下创建属于自己的第一个爬虫项目(上),今天我们进一步深入的了解Scrapy爬虫项目创建,这里以伯乐在线网站的所有文章页为例进行说明. 在我们创建好Scrapy爬虫项目之后,会得到上图中的提示,大意是让我们直接根据模板进行创建Scrapy项目.根据提示,我们首先运行"cd article"命令,意思是打开或者进入到article文件夹下,尔后执行命令"scrapy genspider jobbole blog.jobbole.com&

前后端分离的爬虫小项目

前后端分离的爬虫小项目-----EncycProject EncycProject项目使用现在流行的前后端分离技术:此项目创作目的是实践.利用此项目快速搭建环境和快速入门.该项目的主线是建立宠物社区网站.目前该项目完成第一个模块:宠物百科:剩余模块陆续开发中.(此项目可以变更,第一模块耦合度低) 项目地址 项目GitHub地址 1 项目效果 1.1 效果图: 爬虫数据数据库数据前端 待续 2 项目结构图 3.1 框架整合 3.1.1 pom.xml <?xml version="1.0&q

股票数据Scrapy爬虫

功能描述: 技术路线:scrapy 目标:获取上交所和深交所所有股票的名称和交易信息 输出:保存到文件中 数据网站的确定 获取股票列表: 东方财富网:http://quote.eastmoney.com/stock_list.html 获取个股信息: 百度股票:https://gupiao.baidu.com/stock/ 单个股票:https://gupiao.baidu.com/stock/sz002439.html 步骤: 步骤1:建立工程和Spider模板 D:\pycodes>scra