2016/7/13 23:39:43 xPath 分析网页元素

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

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.以上只是分析了一个,那如何获取所有呢?如下图,先分析所有的内容。
986998-20160720122626779-1109585302.jpg
5.1 然后获取,
986998-20160720122627841-1839342026.png

结合其他人的项目代码分析
 
   
  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')。

986998-20160720122628669-1179416250.png
 




转载于:https://www.cnblogs.com/topshooter/p/5687855.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值