2016-04-21 57 views
0

我想用過去的Python腳本爲音樂演出刮一個drupal站點。Drupal的抓取網址結構

在用WordPress站點做這個,我將通過迭代的url像這樣:

http://wordpressevents.com/?p=1 ... http://wordpressevents.com/?p=10000

...這會得到我轉發到一個頁面(如果有一那裏),我可以刮。實際的URL會是這樣的:

http://wordpressevents.com/music/some-band-youve-never-heard-of/

我的Drupal網站也有部分(例如/演出/或/古典/等)。

有沒有什麼辦法可以找出他們的url可能是什麼,這樣我就可以用Python和BeautifulSoup去討論它了(歡迎其他建議)?

理想情況下,我會找出結構是什麼...

http://drupalevents.com/drupost?=1 ... http://drupalevents.com/drupost?=10000

但也許它不喜歡這個工作?

回答

1

在Drupal唯一可以保證內容的URL結構/節點/ [一定數量]

所以這樣做是爲了一個任意Drupal站點的最好方法是開始在/節點/ 1,並從那裏上去,每次增加1。或者,如果您查看網站上最新頁面的來源,並在正文類標記中找到該頁面的節點標識,那麼您就會知道最後一個數字並向後工作。例如,給定節點/ 185324,主體可以在其上具有類節點-1853524。這可能不在那裏,因爲身體類可以是基於網站設置的任何東西。

大多數網站還使用pathauto模塊給頁面的東西有點比節點更友好/ 123

的pathauto模塊採用基於東西,該網站建設者指定給漂亮的URL內容令牌。一個常見的是/ content/[node:title]。我懷疑這會對你有幫助,但至少它會給你一些關於drupal站點設置的信息。

+0

對不起,這慢慢復出。很好的答案,謝謝!我嘗試了你建議的方法(之後不久我發現它),但到目前爲止它非常緩慢,似乎沒有找到所有東西......太多的空節點ID!例如我正在用Python擷取節點/ 1 ... node/2 ... node/3 ...等...我達30000,但有很多空白ID,但我還沒有接近事件從2016年(仍然在2014年)...每年只有大約1000個事件......所以他們顯然很多空白節點標識。我無法找到身體標記中的內容,可悲的是:( –