1.创建项目

scrapy startproject 项目名

2.创建爬虫(爬虫基于CrawSpider类)

scrapy genspider -t craw 爬虫名 域名

3.爬虫文件中

# CrawSpider的使用
class BookSpider(CrawlSpider):name = 'book'allowed_domains = ['dushu.com']# ----------注意--------# 开始链接必须符合 正则提取的链接start_urls = ['https://www.dushu.com/book/1158_1.html']rules = (Rule(LinkExtractor(# 正则条件,寻找符合条件的链接allow=r'/book/1158_\d+\.html'),callback='parse_item',# 默认为True,表示持续寻找符合正则的链接。follow=True),)def parse_item(self, response):li_list = response.xpath('//div[@class="bookslist"]/ul/li')for li in li_list:item = DushuwangItem()item['name'] = li.xpath('./div/h3/a/text()').extract_first()item['src'] = li.xpath('./div/div[1]/a/img/@data-original').extract_first()yield item

Scrapy框架中CrawSpider的使用相关推荐

  1. scrapy框架中实现登录人人网(一)(最新登录方式)

    最近在弄scrapy框架的问题,感觉里面好玩的东西有很多,无意中在bilibili中看到关于在scrapy实现登录人人网的视频,人人网可能用户少,所以在现在的一些博客和教程里面看到最新的登录方法几乎没 ...

  2. 在scrapy框架中如何设置开放代理池达到反爬的目的

    我们在随机爬取某个网站的时候,比如对网站发出成千上万次的请求,如果每次访问的ip都是一样的,就很容易被服务器识别出你是一个爬虫.因此在发送请求多了之后我们就要设置ip代理池来随机更换我们的ip地址,使 ...

  3. Scrapy框架中的crawlspider爬虫

    1 crawlspider是什么 在spider中要寻找下一页的url地址或者内容的url地址,想想是否有简单的方法省略寻找url的过程? 思路: 从response中提取所有的满足规则的url地址 ...

  4. python pipeline框架_Python爬虫从入门到放弃(十六)之 Scrapy框架中Item Pipeline用法...

    原博文 2017-07-17 16:39 − 当Item 在Spider中被收集之后,就会被传递到Item Pipeline中进行处理 每个item pipeline组件是实现了简单的方法的pytho ...

  5. Scrapy框架中解决OSError=[Errno 2] No such file or directory: 'Xvfb': 'Xvfb'

    当在scrapy框架的Middlewares.py中导入以下语句后报错 from pyvirtualdisplay import Display display = Display(visible=0 ...

  6. Python爬虫从入门到放弃(十五)之 Scrapy框架中Spiders用法

    Spider类定义了如何爬去某个网站,包括爬取的动作以及如何从网页内容中提取结构化的数据,总的来说spider就是定义爬取的动作以及分析某个网页 工作流程分析 以初始的URL初始化Request,并设 ...

  7. Scrapy框架中管道的使用

    1. pipeline中常用的方法: 管道能够实现数据的清洗和保存,能够定义多个管道实现不同的功能,其中有个三个方法: process_item(self,item,spider):实现对item数据 ...

  8. python中scrapy的middleware是干嘛的_Python之爬虫(十九) Scrapy框架中Download Middleware用法...

    这篇文章中写了常用的下载中间件的用法和例子. Downloader Middleware处理的过程主要在调度器发送requests请求的时候以及网页将response结果返回给spiders的时候,所 ...

  9. yield的使用和在scrapy框架中的使用

    yield的基本使用 yield一般多用于生成器的创建,通过next()和send方法进行调用. def demo01():print('start! 第1次循环')for i in range(10 ...

  10. Scrapy框架的学习(11.scrapy框架中的下载中间件的使用(DownloaderMiddlewares))

    1.Downloader Middlewares (下载中间键):引擎会先把Requets对象交给下载中间键再然后交给Downloader 2.使用方法: (1) 编写一个Downloader Mid ...

最新文章

  1. python计算结果传给spark_将Python函数作为对象传递给Spark
  2. 三维数据平滑处理_你该如何正确的处理思看科技三维扫描仪得到的数据?
  3. docker-compose搭建kafka集群
  4. smart link和聚合链路综合实验
  5. 计算机任何启动论文,启动管理器论文10篇_发表之家
  6. 模糊综合评价模型 ——确定隶属度
  7. StretchDIBits速度测试(COLORONCOLOR)
  8. windows必备的驱动软件推荐
  9. 【Google Play】创建 Google 开发者账号 ( 注册邮箱账号 | 创建开发者账号 )
  10. 求最大值(三种方法)
  11. Java基础之面向切面编程@Aspect
  12. 如何根据样本估计总体的均值、比例与方差?如何进行参数估计及选择对应公式?
  13. win10下安装deepin双系统的坑:安装完成一直黑屏进不去系统
  14. mSystems:土壤化学计量特性影响土壤C、N和P循环微生物丰度及其对全球变化的抵抗力(一作解读)...
  15. cad二次开发-C#-VS-镜像-判断用户当前是否已选择实体-将实体对象添加到模型空间-添加实体到块表记录-将块定义插入到模型空间
  16. QT中的视频显示优化
  17. 《程序员修炼之道:从小工到专家》笔记-----第二章
  18. #四、股市操作方法大道可否至简?
  19. 嵌入式软硬件开发区别
  20. Python自动化测试框架学习日记

热门文章

  1. excel 的lookup和sumifs函数使用
  2. 高端化自欺欺人,国产手机又一块遮羞布被扯下,事实是被苹果碾压
  3. 测试数据科学家聚类技术的40个问题(附答案和分析)
  4. Hexo主题-Icarus主题
  5. 如何使用命令提示符轻松地将GPT转换为MBR而不会丢失数据?
  6. 30天自制操作系统第10天harib07d
  7. 简单典型二阶系统_【文献选译】二阶弹性波动方程PML的简单实现
  8. Android调用自带TTS文本转语音引擎实现离线语音合成
  9. 探秘C++之回炉重造
  10. 本科生如何学习计算机科学与技术