このサイトから代理店の電話番号をクロールしようとしています:
リスト表示 http://www.authoradvance.com/agencies/
詳細ビュー http://www.authoradvance.com/agencies/b-personal-management/
電話番号は詳細ページに隠されています。
では、上記の詳細ビュー URL のような URL を持つ Web サイトにアクセスして、電話番号をクロールすることは可能ですか?
このコードでの私の試みは次のとおりです。
from scrapy.item import Item, Field
class AgencyItem(Item):
Phone = Field()
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy.selector import HtmlXPathSelector
from agentquery.items import AgencyItem
class AgencySpider(CrawlSpider):
name = "agency"
allowed_domains = ["authoradvance.com"]
start_urls = ["http://www.authoradvance.com/agencies/"]
rules = (Rule(SgmlLinkExtractor(allow=[r'agencies/*$']), callback='parse_item'),)
def parse_item(self, response):
hxs = HtmlXPathSelector(response)
sites = hxs.select("//div[@class='section-content']")
items = []
for site in sites:
item = AgencyItem()
item['Phone'] = site.select('div[@class="phone"]/text()').extract()
items.append(item)
return(items)
次に、「スクレイピー クロール エージェンシー -o items.csv -t csv」を実行すると、結果は 0 ページをクロールしました。
どうしたの?事前にご協力いただきありがとうございます。