我正在尝试将phantomJS和selenium(和scrapy)用于网站内的链接列表。我是PhantomJS和Selenium的新手,所以我会问这里。 我认为网站有会话超时,因为我可以抓第一个链接。然后我收到了这个错误:
NoSuchWindowException:消息:{“errorMessage”:“当前窗口 句柄/名称无效 (关闭?)”, “请求”:{ “报头”:{ “接受”: “应用/ JSON”, “接受编码”: “同一性”, “连接”: “关闭”, “内容长度”: “460”, “内容类型”: “应用/ JSON;字符集= UTF-8”, “主机”: “127.0.0.1:33038","User-Agent":"Python-urllib/2.7”},” httpVersion “:” 1.1" , “方法”: “POST”, “后”: “{\” URL \“:
这是我的代码的一部分:
class bllanguage(scrapy.Spider):
handle_httpstatus_list = [302]
name = "bllanguage"
download_delay = 1
allowed_domains = ["http://explore.com/"]
f = open("link")
start_urls = [url.strip() for url in f.readlines()]
f.close()
def __init__(self):
self.driver = webdriver.PhantomJS(executable_path='/usr/local/bin/phantomjs')
def start_requests(self):
for u in self.start_urls:
r = scrapy.Request(url = u, dont_filter=True, callback=self.parse)
r.meta['dont_redirect'] = True
yield r
def parse(self, response):
self.driver.get(response.url)
#print response.url
search_field = []
等
会话超时问题只是我的解释,我见过其他类似的消息,但没有一个有解决方案。我想尝试的是“关闭”对“链接”文件中每个链接的请求。我不知道这是PhantomJS自然而然或我必须插入的东西:我看到有resourceTimeout
设置。这是正确的使用方法,我可以将它放在我的代码中?