2013-03-27 121 views
1

對不起我真的很新的Python和scrapy,試圖用試錯學習他們。在哪裏可以學習scrapy SgmlLinkExtractor?

關於SgmlLinkExtractor,我看到大家(至少在本網站)是在尋找合適的代碼來表示了正確的道路,在那裏/我怎麼能學到真正精通? 像(allow=[r'page/\d+'])allow=[r'series-\d{1}-episode-\d{2}.']和等等等等

我試圖刮掉一個網站,它的內容總是在story.html,鏈接的格式是這樣的:

http://www.example.com/folder/category/description/1234567/story.html

*注1234567是不斷變化的7個位數

我的起始URL是http://www.example.com/folder/

我試圖使用SgmlLinkExtractor和定義我的路如下。我想包括url的描述部分和7位數部分。我想確保URL以story.html結束:

Rule(SgmlLinkExtractor(allow=(r'category1/././story\.html',)), callback='parse_item', follow=True)

但顯然/././不會讓我空兩個能級去story.html

什麼是寫的正確方法這SgmlLinkExtractor

回答

2

試試這個

Rule(SgmlLinkExtractor(allow=(r'category1/description/\d+/story\.html',)), callback='parse_item', follow=True) 

,但我會建議你只使用/description/\d+/story\.html這部分是因爲其獨特的,足以爬行類

在我們通過正則表達式規則,所以你只需要簡單易學regex,有一堆online regex tester工具可用

+0

非常感謝你。這非常有幫助。正則表達式是我需要學習的東西。 – user2214089 2013-03-27 15:06:08

相關問題