【发布时间】:2017-03-09 13:40:26
【问题描述】:
操作系统:Ubuntu 16.04 堆栈 - Scrapy 1.0.3 + Selenium 我对scrapy很陌生,这听起来很基础,但是在我的蜘蛛中,只有“init”被执行。之后的任何代码/函数都不会被调用,蜘蛛就会停止。
class CancerForumSpider(scrapy.Spider):
name = "mainpage_spider"
allowed_domains = ["cancerforums.net"]
start_urls = [
"http://www.cancerforums.net/forums/14-Prostate-Cancer-Forum"
]
def __init__(self,*args,**kwargs):
self.browser=webdriver.Firefox()
self.browser.get("http://www.cancerforums.net/forums/14-Prostate-Cancer-Forum")
print "----------------Going to sleep------------------"
time.sleep(5)
# self.parse()
def __exit__(self):
print "------------Exiting----------"
self.browser.quit()
def parse(self,response):
print "----------------Inside Parse------------------"
print "------------Exiting----------"
self.browser.quit()
蜘蛛获取浏览器对象,打印“Going to sleep”然后停止。它不会进入 parse 函数。
以下是运行日志的内容:
----------------内部初始化---------------- ----------------去睡觉了------------------
【问题讨论】:
-
嗯...
self.parse()被注释掉了,所以我不希望它被调用... -
self.parse 应该由蜘蛛本身在这里调用。你能提供运行日志吗?你可以通过
scrapy crawl myspider 2>&1 > output.log -
用运行日志和终端输出更新了问题。
标签: python python-2.7 selenium scrapy scrapy-spider