Mechanize/CookieJar未保持会话持久性

0 投票
1 回答
629 浏览
提问于 2025-04-17 23:42

我有一个网站抓取程序,运行了很长时间都没问题。最近,我觉得网站做了一些改动,现在我遇到了会话保持的问题。下面是我创建浏览器的代码:

def create_browser():

# Browser
br = mechanize.Browser()

# Cookie Jar
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)

# Browser options
br.set_handle_equiv(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]
return br

这是我登录的代码:

def login_stubhub(br):

br.open("https://myaccount.stubhub.com/login/Signin?")
br.select_form(name="signinForm_0")
br["loginEmail"] = 'username'
br["loginPassword"] = 'password'
br.method = "POST"
response = br.submit()

当我尝试打开一个需要登录的页面时:

br.open(https://sell.stubhub.com/sellapi/event/4459340/section/null/seatmapdata)

我收到以下响应:

<data>
<errors>
<FormErrors>
<FormField>User Auth Check</FormField>
<ErrorMessage>
Either is not active or the session might have expired. Please login again.
</ErrorMessage>
</FormErrors>
</errors>
</data>

这是我以前在没有使用CookieJar时遇到的错误。你们有什么建议可以让我解决会话保持的问题吗?

谢谢!

1 个回答

0

这个错误大约持续了48小时后就停止了。看起来问题出在网站的后台。

撰写回答