Scrapy-从嵌套链接[/ a]中清除文本[/ p]等

时间:2018-10-08 01:47:54

标签: scrapy scrapy-spider scrape

我是python的新手,也很容易抓。不过,我花了几天时间尝试从存档中抓取新闻文章-成功。

问题是,当我抓取文章<p>的内容时,内容中充满了其他标签,例如-stronga等。因此,这样的抓取不会将其拉出我剩下的新闻文章包含文本的2/3。将在下面尝试HTML:

<p> According to <a> Japan's newspapers </a> it happened ... </p>

现在,我尝试在Google上四处搜寻,并在这里寻找论坛。有一些建议,但根据我的尝试,它没有用或破坏了我的蜘蛛:

enter image description here

我已经阅读了有关规范化空间和删除标签的信息,但是没有用。感谢您提前获得任何见解。

2 个答案:

答案 0 :(得分:0)

您可以使用string.replace(,)

new_string = old_string.replace("<a>", "")

您可以将其集成到一个循环中,该循环遍历包含要丢弃的所有子字符串的列表。

答案 1 :(得分:0)

请提供选择器以获取更多详细帮助。

鉴于您的描述,我猜您选择的是p/text()(xml)或p::text(css),它们不会在{{ 1}}元素。

您应该尝试选择<p>来获取response.xpath('//p/descendant-or-self::*/text()')及其所有子项中的文本。

您也可以只选择<p>,而不是它的文本,并且也会得到它的子级。从那里您可以开始清理标签。 answered questions关于如何做到这一点。