私はScrapyを初めて使用します。私がやろうとしているのは、指定されたHTML要素内のリンクのみをたどるクローラーを作成することです。start_urls
start_urls
例として、https://www.airbnb.com/s?location = New + York%2C + NY&checkin =&checkout =&guests=1に設定されたAirBnBリストをクローラーに通過させたいとしましょう。
URL内のすべてのリンクをクロールする代わりに、xpath内のリンクをクロールしたいだけです//*[@id="results"]
現在、次のコードを使用してすべてのリンクをクロールしていますが、クロールのみに適応させるにはどうすればよいですか?//*[@id="results"]
from scrapy.selector import HtmlXPathSelector
from tutorial.items import DmozItem
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy.selector import HtmlXPathSelector
class BSpider(CrawlSpider):
name = "bt"
#follow = True
allowed_domains = ["mydomain.com"]
start_urls = ["http://myurl.com/path"]
rules =(Rule(SgmlLinkExtractor(allow = ()) ,callback = 'parse_item', follow=True),)
def parse_item(self, response):
{parse code}
正しい方向へのヒントは大歓迎です、ありがとう!