【发布时间】:2018-12-28 16:37:28
【问题描述】:
谁能帮助理解为什么 Splash 不会呈现此页面,以便我可以抓取它。
网址:https://www6.hertsmere.gov.uk/online-applications/weeklyListResults.do?action=firstPage
这是我写的蜘蛛:
class planningApplications(scrapy.Spider):
name = 'planning-application'
def start_requests(self):
yield SplashRequest(
url='https://www6.hertsmere.gov.uk/online-
applications/weeklyListResults.do?action=firstPage',
callback=self.parse
)
def parse(self, response):
self.log('I just visited: ' + response.url)
self.log(response.body_as_unicode())
item = {
'test': response.xpath('//*[@id="searchresults"]/li[1]/a').extract_first()
}
yield item
这是我在 settings.py 中的 Splash 相关设置:
SPLASH_URL = 'http://localhost:8050/'
DOWNLOADER_MIDDLEWARES = {
'scrapy_splash.SplashCookiesMiddleware': 723,
'scrapy_splash.SplashMiddleware': 725,
'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware':
810,
}
SPIDER_MIDDLEWARES = {
'scrapy_splash.SplashDeduplicateArgsMiddleware': 100,
}
DUPEFILTER_CLASS = 'scrapy_splash.SplashAwareDupeFilter'
HTTPCACHE_STORAGE = 'scrapy_splash.SplashAwareFSCacheStorage'
我尝试使用以下代码行使用 scrapy shell 并打印出响应 unicode,但保存计划应用程序的 html 不存在。
scrapy shell 'http://localhost:8050/render.html?url=https://www6.hertsmere.gov.uk/online-applications/pagedSearchResults.do?action=page&searchCriteria.page=2'
如果使用 scrapy-splash 的方法在网站上不起作用,你会推荐使用 selenium 和 scrapy 吗?
任何帮助将不胜感激:)
【问题讨论】:
标签: python html web-scraping scrapy scrapy-splash