2016-11-09 37 views
-1

我想運行一個命令regex達到一些內容是訪問只有當我登錄。如何在使用正則表達式時保持登錄?

import urllib, urllib2, cookielib, re 

username = 'USERNAME' 

password = 'PWD' 

cj = cookielib.CookieJar() 

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) 

login_data = urllib.urlencode({'username' : username, 'j_password' : password}) 

opener.open('https://example.com/account/login.html/?next=/', login_data) 

AQK=opener.open('http://example.com/membercontent') 

AQJ=AQK.read() 

regex='<p class="grid_3 prefix_1 data ">(.+?)</p>' 

pattern=re.compile(regex) 

content=re.findall(pattern,AQJ) 

print content 

當我運行上面python命令沒有達到我期待的內容。它回答了[]

我確定regex命令是正確的,因爲如果我嘗試訪問非成員內容,它的工作原理。

+0

您是否嘗試過打印'AQJ'的簡單步驟?這應該會給你所需的所有信息來驗證你正在搜索的內容。 –

回答

1

看來AQJ不包含您正在尋找的正則表達式。仔細查看登錄過程是否正確執行。

執行命令AQK.read()後,變量AQJ包含一個字符串,因此返回值content不依賴於執行正則表達式命令時的連接狀態。