我正在编写一个程序/脚本来从 Hoovers.com 检索一些关键信息。我目前有 2 个文件。一个是hoovers5.py
(其中包含一些类),另一个是main.py
.
hoovers5.py
:
def testlogin():
import hlogin # this is a file that contains my hoovers login credentials
from robobrowser import RoboBrowser
browser = RoboBrowser()
login_url = "https://subscriber.hoovers.com/H/login/login.html"
browser.open(login_url)
form = browser.get_form(id='loginForm') # gets login form ID
form['j_username'].value = hlogin._hname # fills in hoovers login name
form['j_password'].value = hlogin._hpass # fills in hoovers password
browser.submit_form(form) # submits login
main.py
:
import hoovers as hv5
from robobrowser import RoboBrowser
hv5.testlogin()
browser = RoboBrowser()
browser.open('http://subscriber.hoovers.com/H/company360/overview.htmlcompanyId=26082233')
print browser.parsed
我已经多次测试了这段代码,如果我运行登录而不将其放入我的主文件中的函数中,则登录有效。它的工作原理是我可以执行以下操作并获得预期的解析值:
browser.open('http://subscriber.hoovers.com/H/company360/overview.htmlcompanyId=621076715')
print browser.parsed
但是,一旦我为登录创建了一个功能,登录似乎并没有……坚持?hoovers5.py
我是否因为正在实例化一个新浏览器而丢失了我的文件中的会话main.py
?如何将我的“会话”传递给我的主脚本?我尝试创建一个名为的对象browser2 = RoboBrowser()
,然后通过它打开 URL,但这也不起作用。
我是否需要 cookie(如果,我将如何执行此操作?)或者我是否需要在我的函数中返回某些内容?