我在 Windows Vista 上使用 Python.org 版本 2.7 64 位。我有以下代码:
from scrapy.spider import BaseSpider
from scrapy.selector import Selector
class MySpider(BaseSpider):
name = "wiki"
allowed_domains = ["bbc.co.uk"]
#start_urls = ["http://www.bbc.co.uk/sport/0/"]
start_urls = ["http://www.bbc.co.uk/sport/0/formula1/28166984"]
def parse(self, response):
titles = response.selector.xpath("//title")
for titles in titles:
body = response.xpath("//p").extract()
body2 = str(body)
body2.replace('\n', '')
body2.replace('<p>', '')
print body2
它正在返回我试图抓取的页面的主要文本,但它也返回大量 HTML 标记和回车符。在最后几行中,您可以看到我尝试将变量“body”转换为名为“body2”的字符串,然后使用替换函数删除一些不需要的 HTML,但这没有达到预期的效果。
谁能建议一种实现我想做的事情的方法?
谢谢
请您参考如下方法:
请使用 scrapy.utils.markup 模块中的 remove_tags() 函数
from scrapy.utils.markup import remove_tags
# it'll print 'hello, world'
print remove_tags('<p>hello, world</p>')
