我目前正在使用以下代码提取body标签内的整个文本(不包括\ r \ n之类的空格):
full_text = response.xpath('normalize-space(/html/body)').extract()
问题是这是在正文中的脚本标记内拾取javascript。
您知道如何排除任何脚本标记中的内容吗?
我已经尝试过这样做,但它不起作用:
full_text = response.xpath('normalize-space(/html/body/*[not(self::script)])').extract()
任何帮助表示感谢。
答案 0 :(得分:1)
您可以按照Scraping text without javascript code using scrapy
这个问题的答案from w3lib.html import remove_tags, remove_tags_with_content
input = hxs.select('//div[@id="content"]').extract()
output = remove_tags(remove_tags_with_content(input, ('script', )))