有没有办法阻止url重定向?
driver.get('http://loginrequired.com')这会将我重定向到另一个页面,但默认情况下,我希望它留在该页面而不重定向。
发布于 2015-01-05 20:00:19
用户所谓的“重定向”通常有两种方式:
但是,这种重定向可能会在Selenium将控制权交还给您的脚本之前发生。它在任何特定情况下是否有效取决于加载的页面。
因此,没有万无一失的方法来防止Selenium中的重定向。
发布于 2015-01-06 00:10:56
如果您不需要可视化页面,但可以访问"http://loginrequired.com“的源代码,那么使用Selenium和Scrapy就是一种解决方案。
基本上,您告诉Scrapy中间件停止重定向,并且当爬行器访问页面时,重定向处理重定向(302)。
在setting.py中,您必须设置
"REDIRECT_ENABLED=False"爬虫代码是:
class LoginSpider(CrawlSpider):
name = "login"
allowed_domains = ['loginrequired.com']
start_urls = ['http://loginrequired.com']
handle_httpstatus_list = [302]
def __init__(self):
self.driver = webdriver.Firefox()
def parse(self, response):
if response.status in self.handle_httpstatus_list:
return Request(url="http://loginrequired.com", callback=self.after_302)
def after_302(self, response):
print response.url
# Your code to analysis the page by here https://stackoverflow.com/questions/27775048
复制相似问题