哆啦A梦 50周年应援

scrapy shell

什么是scrapy shell?
  Scrapy终端,是一个交互终端,供您在未启动spider的情况下尝试及调试您的爬取代码。 其本意是用来测试提取数据的代码,不过您可以将其作为正常的Python终端,在上面测试任何的Python代码。该终端是用来测试XPath或CSS表达式,查看他们的工作方式及从爬取的网页中提取的数据。 在编写您的spider时,该终端提供了交互性测试您的表达式代码的功能,免去了每次修改后运行spider的麻烦。一旦熟悉了Scrapy终端后,您会发现其在开发和调试spider时发挥的巨大作用。
安装ipython
  安装:pip install ipython
  简介:如果您安装了 IPython ,Scrapy终端将使用 IPython (替代标准Python终端)。 IPython 终端与其他相比更为强大,提供智能的自动补全,高亮输出,及其他特性。
应用:
  1)scrapy shell www.baidu.com
  2)scrapy shell http://www.baidu.com
  3) scrapy shell "http://www.baidu.com"
  4) scrapy shell "www.baidu.com"
语法:
  1)response对象:
      response.body
      response.text
      response.url
      response.status
  2)response的解析:
      response.xpath() (常用)
        使用xpath路径查询特定元素,返回一个selector列表对象
      response.css()
        使用css_selector查询元素,返回一个selector列表对象
        获取内容 :response.css('#su::text').extract_first()
        获取属性 :response.css('#su::attr(“value”)').extract_first()
  3)selector对象(通过xpath方法调用返回的是seletor列表)
      extract()
        提取selector对象的值
        如果提取不到值 那么会报错
        使用xpath请求到的对象是一个selector对象,需要进一步使用extract()方法拆包,转换为unicode字符串
      extract_first()
        提取seletor列表中的第一个值
        如果提取不到值 会返回一个空值
        返回第一个解析到的值,如果列表为空,此种方法也不会报错,会返回一个空值
      xpath()
      css()
        注意:每一个selector对象可以再次的去使用xpath或者css方法
# 进入到scrapy shell的终端  直接在window的终端中输入scrapy shell 域名
# 如果想看到一些高亮 或者 自动补全  那么可以安装ipython  pip install ipython
# scrapy shell www.baidu.com

response.body 页面二进制字符串数据

response.text 页面字符串数据

response.url  网址

response.status 状态码

若何获取 百度一下,value值

 response.xpath 返回列表

提取,列表第一个元素的data值

使用bs4语法获取

posted @ 2021-11-15 21:16  秋泊ソース  阅读(67)  评论(0)    收藏  举报