我正在尝试使用python制作网络蜘蛛但我在尝试登录网站Pixiv时遇到了一些问题。我的代码如下:
import sys
import urllib
import urllib2
import cookielib
url="https://www.secure.pixiv.net/login.php"
cookiename='123.txt'
cookie = cookielib.MozillaCookieJar(cookiename)
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
cookie.save()
values={'model':'login',
'return_to':'/',
'pixiv_id':'username',
'pass':'password',
'skip':'1'}
headers = { 'User-Agent' : 'User-Agent' }
data=urllib.urlencode(values)
req=urllib2.Request(url,data)
response=urllib2.urlopen(req)
the_page=response.read()
cookie.save()
为了确保它有效,我使用cookielib将cookie保存为txt文件。我运行了代码并得到了一个“cookie.txt”,但当我打开文件时,我发现它是rmpty,在另一个一句话,我的代码没有用。 我不知道它有什么问题。
答案 0 :(得分:0)
问题是你没有使用你附加的cookiejar创建的opener
来发出请求。 urllib2.urlopen
无法知道您是否想要使用该开启者来启动请求。
您可以直接使用开启者的open
方法,或者,如果您希望在应用程序的其余部分使用此方法,则可以将其安装为使用{{1}进行的所有请求的默认开启者使用urllib2.install_opener
。所以试一试,看看它是否有效。