我有这段代码基本上应该提取给定网站的正文:
class MySpider(CrawlSpider):
name = 'smm'
allowed_domains = []
start_urls =['http://www.jeffbullas.com/2014/12/19/10-ways-to-succeed-in-the-new-age-of-mobile-content-marketing/']
def parse(self, response):
items = []
item = SocialMediaItem()
item['webKW'] = response.xpath('//body//p//text()').extract()
items.append(item)
return items
然而,似乎没有废除任何东西。我已使用此在线工具http://videlibri.sourceforge.net/cgi-bin/xidelcgi上的相同网站测试了xpath表达式,并且它确实非常符合我的需求,因此它必须是Scrapy编码的问题。你能帮我吗? 谢谢!
达尼
答案 0 :(得分:2)
您分享的代码不完整。在任何情况下,您都需要设置allowed_domains以指示蜘蛛关于域名。
这是一个工作示例
class jeffbullasSpider(scrapy.Spider):
name = "jeffbullas"
allowed_domains = ["jeffbullas.com"]
start_urls = [
"http://www.jeffbullas.com/2014/12/19/10-ways-to-succeed-in-the-new-age-of-mobile-content-marketing/"]
def parse(self, response):
print response.xpath('//body//p//text()').extract()
输出的摘录将是:
2014-12-23 12:05:52 + 0100 [jeffbullas] DEBUG:Crawled(200)http://www.jeffbullas.com/2014/12/19/10-ways-to-succeed-in-该新-年龄的移动内容营销/> (引用者:http://www.bing.com)[u" Jeffbullas的博客",u'互联网 营销',u'写作',u' by',u' ',你' Jeff Bullas',你' - ',你 15 评论',u' \ n \ t \ t \ t \ t分类:',u'内容营销',u',', 你移动'移动内容营销',移动内容营销'移动内容营销'移动内容营销'移动内容营销'移动内容营销'移动内容营销'移动内容营销 营销',你' ',你'媒体发生了翻天覆地的变化。',你'老 后卫正在忽视它,新的暴发户正在接受它。\ xa0眼球 在过去50多年里,媒体对媒体的统治 现在正在线上。数字电视正在为电视做什么 印刷和广播。扰乱和打扰。',