html text全删,删除没有/ text()。extract()的HTML标记

本文介绍了一个Scrapy爬虫项目的实践案例,主要探讨如何有效地去除爬取数据中的HTML标签,以提高数据质量。作者分享了使用Python的html2text模块进行文本清洗的过程,并寻求更优解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,我对此非常陌生,所以请准备好从我复制/粘贴来自各种来源的代码。

我希望能够删除scrapy返回的任何HTML代码。我已经将所有内容存储在MySQL中而没有任何问题,但我无法开始工作的东西就是删除了很多'< td>'和其他html标签。我最初只使用/ text()。extract()运行,但随机地会遇到以这种方式格式化的单元格:

TEXT Text Text Text Text

我没有选择使用/ text或不使用的模式,我正在寻找初学者可以实现的最简单的方法来解决所有问题。

from scrapy.spider import BaseSpider

from scrapy.selector import HtmlXPathSelector

from scrapy.contrib.loader import XPathItemLoader

from scrapy.contrib.loader.processor import Join, MapCompose

import html2text

from scraper.items import LivingSocialDeal

class CFBDVRB(BaseSpider):

name = "cfbdvrb"

allowed_domains = ["url"]

start_urls = [

"url",

]

deals_list_xpath = '//table[@class="tbl data-table"]/tbody/tr'

item_fields = {

'title': './/td[1]',

'link': './/td[2]',

'location': './/td[3]',

'original_price': './/td[4]',

'price': './/td[5]',

}

def parse(self, response):

selector = HtmlXPathSelector(response)

for deal in selector.xpath(self.deals_list_xpath):

loader = XPathItemLoader(LivingSocialDeal(), selector=deal)

# define processors

loader.default_input_processor = MapCompose(unicode.strip)

loader.default_output_processor = Join()

# iterate over fields and add xpaths to the loader

for field, xpath in self.item_fields.iteritems():

loader.add_xpath(field, xpath)

converter = html2text.HTML2Text()

converter.ignore_links = True

yield loader.load_item()

converter = html2text是我最后一次尝试删除它的方式,我并不完全确定我是否正确实现了它但它没有工作。

提前感谢您提供的任何帮助,如果我错过了一些简单的快速搜索可能会让我感到抱歉,我也会道歉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值