我是python的新手,也很容易抓。不过,我花了几天时间尝试从存档中抓取新闻文章-成功。
问题是,当我抓取文章<p>
的内容时,内容中充满了其他标签,例如-strong
,a
等。因此,这样的抓取不会将其拉出我剩下的新闻文章包含文本的2/3。将在下面尝试HTML:
<p> According to <a> Japan's newspapers </a> it happened ... </p>
现在,我尝试在Google上四处搜寻,并在这里寻找论坛。有一些建议,但根据我的尝试,它没有用或破坏了我的蜘蛛:
我已经阅读了有关规范化空间和删除标签的信息,但是没有用。感谢您提前获得任何见解。
答案 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关于如何做到这一点。