您好我使用scrapy刮刮paginasamarillas.es但是我没有得到结果这些是我的代码。请你帮我这个吗?
from scrapy.item import Item, Field
class AyellItem(Item):
name = Field()
pass
这是蜘蛛
from scrapy.selector import HtmlXPathSelector
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy.contrib.spiders import CrawlSpider, Rule
from ayell.items import AyellItem
class YellSpider(CrawlSpider):
name = 'yell'
allowed_domains = ['http://www.paginasamarillas.es']
start_urls = ['http://www.paginasamarillas.es/alimentacion/all-ma/all-pr/all-is/all-ci/all-ba/all-pu/all-nc/1']
def parse_items(self, response):
hxs = HtmlXPathSelector(response)
directors = hxs.select("/html/body")
items = []
for directors in directors:
item = AyellItem()
item ["name"] = directors.select("/h1").extract()
items.append(item)
return items
这就是我得到的
2015-07-31 19:11:25-0300 [yell] DEBUG:Crawled(200)http://www.paginasamarillas.es/alimentacion/all-ma/all-pr/all-is/all- CI /所有-BA /全部PU /全NC / 1> (引用者:无) 2015-07-31 19:11:25-0300 [yell]信息:关闭蜘蛛(已完成) 2015-07-31 19:11:25-0300 [yell]信息:倾倒蜘蛛统计数据:{'downloader / request_bytes':267,'downloader / request_count':1,
'downloader / request_method_count / GET':1,
'downloader / response_bytes':30509,'downloader / response_count':1, 'downloader / response_status_count / 200':1,'finish_reason': 'finished','finish_time':datetime.datetime(2015,7,31,22,11, 25,731485),'scheduler / memory_enqueued':1,
答案 0 :(得分:0)
首先,看起来这是一只新蜘蛛。如果你能够,我建议更新到Scrapy 1.0.1而不是0.24(或更低)。
AyellItem
有一个缩进错误,但这可能就是你输入SO的方式。此外,您pass
没有任何目的。
至于蜘蛛本身,还有一些值得注意的问题:
parse_start_url(response)
方法。<h1>
元素,而不是/html/body/h1
。您想要的项目是列表项目(<li>
&#39; s)嵌套在一个div中,类别为#34; contenido&#34; 阅读CrawlSpider,Scrapy Selectors,并让您更好地熟悉您正在使用的技术可以帮助您。祝你好运!