用于抓取的Drupal URL结构

时间:2016-04-21 16:03:41

标签: php python url drupal web-scraping

我正试图用过去的音乐演出的Python脚本刮掉一个drupal网站。

使用wordpress网站执行此操作时,我会迭代这样的网址:

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

...这会让我转发到一个页面(如果有那里),我可以抓。实际的URL类似于:

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

我的Drupal网站也有部分(例如/ gigs /或/ classical / etc)。

有什么方法可以找出他们的网址是什么,这样我就可以用Python和BeautifulSoup来抓它了(欢迎其他建议)?

理想情况下,我会找出结构是什么......

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

但也许这样不起作用?

1 个答案:

答案 0 :(得分:1)

在drupal中,唯一有保证的内容网址结构是/ node / [some number]

因此,对任意drupal站点执行此操作的最佳方法是从/ node / 1开始并从那里向上移动,每次递增1。或者,如果您查看网站上最新页面的来源并在body类标记中找到该页面的节点ID,那么您将知道最后一个数字并向后工作。例如,给定节点/ 185324,主体可以在其上具有类节点-1853524。这可能不存在,因为正文类可能是基于网站设置方式的任何内容。

大多数网站也使用pathauto模块为页面提供比node / 123

更友好的页面

pathauto模块根据网站构建器指定的内容使用令牌来为内容提供好的URL。一个常见的是/ content / [node:title]。我怀疑这对你有什么帮助,但至少它会给你一些关于如何设置drupal网站的信息。