zoukankan      html  css  js  c++  java
  • 2016/7/13 23:39:43 xPath 分析网页元素

    1. 采用QQ浏览器 , 当前以获取qiushibaike里面的内容以及好笑,评论数为例
    选择需要抓取的内容,然后右键检查
     会出现一个调试界面,在 elements 里面选择需要抓取的信息,右键 copy - copy XPath
    3. 接下来 可以到 console 界面调试一下抓取的信息(妹的,这么强悍)
    使用 $x('XPath') 可以抓到相关信息

    4. 相应的我们可以得到相关Xpath
    1. 1.内容 //*[@id="qiushi_tag_116975883"]/div[2]
    2. 2.好笑 //*[@id="qiushi_tag_116975883"]/div[3]/span[1]/i
    3. 3.评论数 //*[@id="c-116975883"]/i
    5.以上只是分析了一个,那如何获取所有呢?如下图,先分析所有的内容。
    5.1 然后获取,

    结合其他人的项目代码分析
    1. from scrapy import Spider
    2. from scrapy.selector import Selector
    3. from stack.items import StackItem
    4. class StackSpider(Spider):
    5. name = "stack"
    6. allowed_domains = ["stackoverflow.com"]
    7. start_urls = [
    8. "http://stackoverflow.com/questions?pagesize=50&sort=newest",
    9. ]
    10. def parse(self, response):
    11. questions = Selector(response).xpath('//div[@class="summary"]/h3')
    12. for question in questions:
    13. item = StackItem()
    14. item['title'] = question.xpath(
    15. 'a[@class="question-hyperlink"]/text()').extract()[0]
    16. item['url'] = question.xpath(
    17. 'a[@class="question-hyperlink"]/@href').extract()[0]
    18. yield item
    19. 我们将遍历问题,从抓取的数据中分配标题和URL的值。一定要利用Chrome开发者工具的JavaScript控制台测试XPath的选择器,例如$x('//div[@class="summary"]/h3/a[@class="question-hyperlink"]/text()') $x('//div[@class="summary"]/h3/a[@class="question-hyperlink"]/@href')。

     




  • 相关阅读:
    DataTable.Compute功能
    ip的划分,超详细
    静态页 htm传参数
    [你必须知道的.NET] 第四回:后来居上:class和struct
    [你必须知道的.NET] 第八回:品味类型值类型与引用类型(上)-内存有理
    [你必须知道的.NET] 第五回:深入浅出关键字把new说透
    作废
    XML Schema <第三篇>
    XML基础<第一篇>
    NHibernate之配置文件属性说明
  • 原文地址:https://www.cnblogs.com/topshooter/p/5687855.html
Copyright © 2011-2022 走看看