簡體   English   中英

y抓-嘗試獲取“下一個”網址

[英]scrapy - trying to get “next” url

我正在使用scrapy並嘗試提出一個strict_xpaths規則,因此搜尋器將始終僅轉到下一個圖像。

我從這張圖片開始: https : //www.flickr.com/photos/safaripartners/4838428819/in/photolist-qtC2e5-5iA4ZQ-8nydjx-zf1rvk-wvDaHE-8nBnhu-baArRv-36WzbG-2hLUaa-v6Mw1k-dniz5A-8 6jTfkT-6W6Sbu-5CtFsA-6RZZ5K-36WYuS-5DatmT-d5Qo1A-nMktKL-9wF1aF-hfuXhF-eLaQn5-5tR4Ri-prLcsi

我的目標是不斷抓取下一個。

我試過了:

name = "FlickerSpider"
allowed_domains = ["flickr.com"]
start_urls = [
"https://www.flickr.com/photos/indymcduff/6632326011/in/photolist-9uQnYG-9SnqTY-qjXTHY-onEUN5-5d72ri-tgMKAY-8qaRQL-on6ZLu-bnMg2B-8AVUgV-b75pst/"
]
rules = (
    #crawl to next image
    Rule(SgmlLinkExtractor(allow=(r'photos'),restrict_xpaths=('//class[@data="navigate-target navigate-next")]')) ,callback='parse_item', follow=True),
)

但我沒有任何要求。 任何人都建議我應該使用什么規則? 謝謝!

您的strict_xpaths表達式中存在語法錯誤。 嘗試

restrict_xpaths=('//a[@class="navigate-target navigate-next"]')

總是值得使用scrapy shell或在Firebug中為Firefox使用$ x來嘗試xpath。 當規則中存在這樣的xpath問題時,它只是默默地失敗。

更新資料

我應該給你這個xpath

restrict_xpaths=('//a[@class="navigate-target navigate-next"]/@href')

使用Firebug中的$ x命令可以正常工作。 如您所說,它不適用於刮擦的外殼。 頁面的該部分似乎不是純HTML的一部分,而是在運行時生成的。 除非找到其他URL,否則可能必須使用Selenium之類的東西,才能在包含動態內容的標准瀏覽器中呈現頁面。 然后,Scrapy可以解析包含您所鏈接的HTML。 看看這個問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM