说来好笑,刚学习爬虫的时候为了调试代码,是将网页下载到本地,再用beautifulsoup载入本地网页文件进行分析,以保证选择器编写正确。

Scrapy内置的调试器Scrapy Shell正好作此用途,使用的选择器则是xpath。

下面是两篇scrapy shell 和 xpath selector的教程。

Scrapy Tutorial #6: Scrapy Shell Overview & Tips​www.accordbox.com

Selectors - Scrapy 1.4.0 documentation​docs.scrapy.org

要打开scrapy shell,在终端输入

scrapy shell http://url

scrapy shell将下载网页到本地(不会自动删除)。

在浏览器中打开下载的网页查看,继续在终端输入

view(response)

如果要重新载入网页,或者载入另一个网页,则使用命令代码

fetch("http://url")

确定网页已经正确下载到本地之后,开始测试xpath selector(选择器)。要选取网页上的任何标签内容,比如<title>,使用以下代码

response.selector.xpath("//title/text()").extract()

注意xpath选择器的编写规则。简单举例:

/ 查询绝对路径

// 查询所有标签,如果要选择所有标题标签中的第二个,写为 //title[2]

/text() 标签底下的文字不是节点,在标签后面添加以提取文本内容

//a[contains(@href,"img")]/@href 提取class,id,link等属性

在scrapy shell中调试好的代码可以直接复制到爬虫文件中使用。

从终端退出scrapy shell,windows输入ctrl +D

^D

xpath contains_Python 爬虫进阶: Scrapy Shell 和 Xpath 学习心得相关推荐

  1. Python爬虫进阶——Scrapy框架原理及分布式爬虫构建

    1 Scrapy简介 1.1 概念 Scrapy是由Python语言开发的一个快速.高层次的屏幕抓取和web信息抓取框架,用于抓取web站点并从页面中提取结构化的数据. Scrapy用途广泛,可以用于 ...

  2. scrapy splash 爬取图片学习心得

    目录 1. 鸣谢 2. 环境搭建(基于python 3.7) 2.1 准备镜像 2.2 启动splash容器 2.3 安装 scrapy-splash 2.4 安装 Pillow(图片处理 ) 3.生 ...

  3. Scrapy爬虫进阶操作之CrawlSpider(二)

    开头再来波小程序摇一摇: 上一章节,我们讲到了通过Rules来获取下一个待爬页面的URL,那么我们今天就来讲讲具体的怎么爬取一个页面. 因为我们的目的是爬取整个36页的全部美剧列表,但是在36页数据里 ...

  4. Python爬虫框架Scrapy学习笔记

    scrapy.png 本文主要内容针对Scrapy有初步了解的同学.结合作者的实际项目中遇到的一些问题,汇成本文. 之后会写一些具体的爬虫demo, 放到 https://github.com/han ...

  5. 开源 Python网络爬虫框架 Scrapy

    开源 Python 网络爬虫框架 Scrapy:http://blog.csdn.net/zbyufei/article/details/7554322 介绍 所谓网络爬虫,就是一个在网上到处或定向抓 ...

  6. 解析python网络爬虫pdf 黑马程序员_正版 解析Python网络爬虫 核心技术 Scrapy框架 分布式爬虫 黑马程序员 Python应用编程丛书 中国铁道出版社...

    商品参数 书名:Python应用编程丛书:解析Python网络爬虫:核心技术.Scrapy框架.分布式爬虫 定价:52.00元 作者:[中国]黑马程序员 出版社:中国铁道出版社 出版日期:2018-0 ...

  7. python中的scrapy爬虫_Python 爬虫之Scrapy《中》

    欢迎关注[无量测试之道]公众号,回复[领取资源], Python编程学习资源干货. Python+Appium框架APP的UI自动化. Python+Selenium框架Web的UI自动化. Pyth ...

  8. 小白学 Python 爬虫(20):Xpath 进阶

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  9. 爬虫学习笔记(七)——Scrapy框架(二):Scrapy shell、选择器

    一.Scrapy shell scrapy shell的作用是用于调试,在项目目录下输入scrapy shell start_urls (start_urls:目标url)得到下列信息: scrapy ...

最新文章

  1. 华为报告称2013年大数据将引发IT系统大变革
  2. JPA关系映射之one-to-many和many-to-one
  3. Python学习教程:0基础学Python?手把手教你从变量和赋值语句学
  4. java 旋转方向,Java 2d方向鼠标点旋转
  5. Flink的Table API 与SQL的流处理
  6. OpenJudge NOI 1.7 08:字符替换
  7. GitHub 标星 1.6w+,我发现了一个宝藏项目,推荐大家学习
  8. 关于代码控制管理的一些想法
  9. php 实现数组转json数据结构,php怎么实现数组转json
  10. 东鹏特饮占据市场第二的背后:数据让我们比谁都了解消费者!
  11. 身份证号前缀与区域对照表
  12. cad上样条曲线上的点太多了_CAD样条曲线如何转换成多段线?看完这篇文章你就懂了...
  13. linux img镜像安装到硬盘,ESXi虚拟机使用IMG镜像安装系统(LEDE安装教程)
  14. PyQT多线程串口 QtDesigner
  15. java date the type is ambiguous_java 调用方法引起歧义:The method XXX is ambiguous for the type XX...
  16. 三菱q系列plc 和电脑socket_三菱Q系列Socket通讯(套接字通讯)讲解
  17. matlab中contourm,MATLAB 中contour函数的使用
  18. 个人博客标签和文章的表结构设计
  19. Chrome谷歌浏览器插件_百度翻译插件去除字数限制
  20. 【Kubernetes 系列】一文带你吃透 K8S 应用pod结点

热门文章

  1. 腾讯AI Lab宣布将于9月底开源“Tencent ML-Images”项目
  2. 如何使div像星星一样,简易demo,授人以鱼,自行更改完善
  3. HDFS二次开发常见问题
  4. leetcode 677. Map Sum Pairs | 677. 键值映射(Trie前缀树,BFS)
  5. leetcode 372. Super Pow | 372. 超级次方(快速幂)
  6. Git代码同时push到GitHub和Gitee(码云)
  7. Redis实战(四):redis的消息订阅、pipeline、事务、modules、布隆过滤器、缓存LRU
  8. 【SPSS】SPSS第五周作业
  9. 【Java设计模式】工厂模式
  10. dart系列之:dart类中的构造函数