我可以单独访问以下每个网址:http://www.example.com/{.*}.html
然而,对主页http://www.example.com
的访问受到某种程度的限制,我被重定向到显示:Erreur 403 - Refus de traitement de la requête (Interdit - Forbidden)
的错误页面。
有没有办法列出该域下托管的HTML网页的所有网址?
答案 0 :(得分:2)
简短的回答是否定的。您不能像列出目录一样列出该域中的所有HTML页面。假设该网站的robots.txt允许,您最好的办法是使用网络抓取模块抓取网站,例如http://scrapy.org/
答案 1 :(得分:0)
感谢Brian:我设法从域名下托管的可访问HTML页面列表开始抓取。
# scrap.py
from scrapy.spiders import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractor
class MySpider(CrawlSpider):
name = 'example.com'
allowed_domains = ['example.com']
start_urls = [
'http://www.example.com/***.html' # Accessible URL
]
rules = (
Rule(LinkExtractor(allow=('\.html', )), callback='parse_item', follow=True),
)
def parse_item(self, response):
print response.url
然后:
$ scrapy runspider scrap.py > urls.out