scrapy学习记录0401

来源:互联网 发布:java中classpath和path 编辑:程序博客网 时间:2024/06/07 14:39

问题:

  • 1.属性中是链接,网页显示是字,如何提取这个字呢?(text()结果如果是网址,可以用string进行转换,如ip.xpath('string(td[5])')[0].extract()?
  • 2.为何我不能再xpath中使用[]的功能?像td[4]这种
    ip. xpath('td[4]/text()')[0].extract()
  • 3.爬取的网页浏览器能打开,再cmd里就是403,为没有权限访问此站。 百度股票是403,西刺是500.

待实践:

  • 1.response.css('.stock-bets').css('.bets-name').extract()[0]

历史错误:

  • 1.return scrapy.Request(urls, callback=self.parse_stock)这里的urls不能是列表。
  • 2.忘了写yield也是醉了。用以下代码发现的。
    from scrapy.shell import inspect_response
    inspect_response(response, self)
  • 3.取某标签的值时把标签写错了导致结果为空[].

css/xpath用法总结:

  • 1.区别看清楚了:
    • 1) xpath('//a/@href')css('a::attr(href)')
    • 2) xpath('//title/text()')css(title::text)
    • 3)当不只一个属性时,xpath要用contains, css要用*:
      • 1.xpath('//a[contains(@href,"image")]/@href'</li>
        <li>2.
        css(‘a[href*=”image”]::attr(href)’)</li></ul></li>
        <li>4)一个属性时:
        xpath(‘div[@id=”quotesearch”’]/`
0 0
原创粉丝点击