Tôi mới sử dụng Scrapy và những gì tôi đang cố gắng làm là một trình thu thập dữ liệu sẽ chỉ theo các liên kết bên trong một phần tử HTML trên start_urls
Làm cách nào để tôi có thể yêu cầu Scrapy chỉ thu thập dữ liệu các liên kết bên trong một Xpath?
Ví dụ như cho phép nói rằng tôi chỉ muốn trình thu thập thông tin đi máng danh sách Airbnb đã start_urls
thiết lập để https://www.airbnb.com/s?location=New+York%2C+NY&checkin=&checkout=&guests=1
Thay vì bò tất cả các link trong URL tôi chỉ muốn thu thập các liên kết bên trong xpath //*[@id="results"]
Hiện nay tôi đang sử dụng đoạn mã sau để thu thập tất cả các liên kết, làm thế nào có thể Tôi điều chỉnh nó để thu thập dữ liệu chỉ //*[@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}
Bất kỳ mẹo nào đúng hướng sẽ được đánh giá cao, Cảm ơn!
Cảm ơn! đó là vì lý do nào đó mà tôi không thể tìm thấy bất cứ điều gì khi tôi googled xung quanh ... nó rất dễ dàng để đi thẳng vào các tài liệu. – JordanBelf