【发布时间】:2014-10-30 21:56:17
【问题描述】:
总的来说,我对scrapy和python很陌生,但我真的很想学习,我为此付出了很多努力!我正在尝试爬取 eb5info.com,选择每个单独的区域中心,然后复制每个区域中心的电话号码和电子邮件。但是,当我抓取时,它通知我抓取了 0 个网站。任何帮助将不胜感激!
这是我的蜘蛛:
from scrapy.item import Item, Field
class Eb5Item(Item):
description = Field()
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy.selector import HtmlXPathSelector
from parser_module.items import Eb5Item
class Eb5Spider(CrawlSpider):
name = 'eb5'
allowed_domains = ["eb5info.com"]
start_urls = ["http://eb5info.com/regional-centers"]
rules = (Rule(SgmlLinkExtractor(allow=[r'regional-centers/*$']), callback='parse_item'),)
def parse_item(self, response):
hxs = HtmlXPathSelector(response)
sites = hxs.select('//ul/li/a/@href')
items = []
for site in sites:
item = Eb5Item()
item['url'] = response.url
item['phone'] = site.select("()").extract()
items.append(item)
return (items)
这是我的物品文件:
from scrapy.item import Item, Field
class Eb5Item(Item):
# define the fields for your item here like:
name = Field()
email = Field()
name = Field()
description = Field()
phone = Field()
pass
非常感谢!
【问题讨论】:
-
我看到您删除了自己的问题并重新发布。如果没有明显区别,请不要这样做。
-
很抱歉,我是这个网站的新手,我不小心将一个非常无用的编辑标记为我的问题的解决方案,并且通常担心我的问题仍会被注册为已解决。