scrapy关于tbody标签的问题

今天在爬取网页时,当爬取表格(table) 的内容时,发现用 xpath helper 获取正常,程序却解析不到。

原因是:浏览器会在table标签下添加tbody

在chrome、火狐测试都有这个情况。出现这种原因是因为浏览器会对html文本进行一定的规范化

下图这个是xpath heper 获取的
xpath helper

下图是源码查看到的
这里写图片描述

对比发现,审查元素中多了tbody标签

解决方法:
使用scrapy时将分析出的xpath中的tbody去掉

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Scrapy是一个用于爬取网页数据的Python开发框架。如果我们想要使用Scrapy来抓取热门标签下的名人名言经验,我们可以按照以下步骤进行操作。 首先,我们需要创建一个Scrapy项目。我们可以使用Scrapy命令行工具来创建一个新的项目。在命令行中输入以下命令: ```bash scrapy startproject quotes_crawler ``` 这将会在当前目录下创建一个名为`quotes_crawler`的Scrapy项目。 接下来,我们需要定义一个Spider来告诉Scrapy我们要从哪个网站抓取数据以及数据的结构。在项目的根目录下,我们可以创建一个名为`quotes_spider.py`的文件,并编写以下代码: ```python import scrapy class QuotesSpider(scrapy.Spider): name = 'quotes' start_urls = ['http://www.example.com/tags'] def parse(self, response): # 解析标签页面,提取热门标签下的URL tag_urls = response.css('.hot-tags a::attr(href)').getall() yield from response.follow_all(tag_urls, self.parse_quotes) def parse_quotes(self, response): # 解析名言经验页面,提取名人名言经验 quotes = response.css('.quote-text::text').getall() yield {'quotes': quotes} ``` 在代码中,`quotes` Spider的`start_urls`属性指定了我们想要抓取数据的起始页面URL。`parse`方法用于解析标签页面,提取热门标签下的URL,并调用`parse_quotes`方法处理名言经验页面。在`parse_quotes`方法中,我们可以使用CSS选择器来提取名人的名言经验。最后,我们使用`yield`语句返回抓取到的数据。 最后,我们可以在命令行中运行以下命令来启动爬虫: ```bash scrapy crawl quotes ``` 这将会启动我们之前定义的Spider,并开始抓取热门标签下的名人名言经验。抓取到的数据将会保存在默认的JSON文件中。 使用Scrapy抓取热门标签下的名人名言经验的步骤如上所述。当然,具体的实现还需要根据目标网站的页面结构进行相应的调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值