我正试图用过去的音乐演出的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
等
但也许这样不起作用?
答案 0 :(得分:1)
在drupal中,唯一有保证的内容网址结构是/ node / [some number]
因此,对任意drupal站点执行此操作的最佳方法是从/ node / 1开始并从那里向上移动,每次递增1。或者,如果您查看网站上最新页面的来源并在body类标记中找到该页面的节点ID,那么您将知道最后一个数字并向后工作。例如,给定节点/ 185324,主体可以在其上具有类节点-1853524。这可能不存在,因为正文类可能是基于网站设置方式的任何内容。
大多数网站也使用pathauto模块为页面提供比node / 123
更友好的页面pathauto模块根据网站构建器指定的内容使用令牌来为内容提供好的URL。一个常见的是/ content / [node:title]。我怀疑这对你有什么帮助,但至少它会给你一些关于如何设置drupal网站的信息。