0
我請你糾正我在這裏我錯了什麼。我獲得的html代碼又是一個帶登錄表單的頁面。我的意思是在一個會話中獲取令牌,然後使用它來登錄。我打算做的是使用bs4來收集一些數據。登錄網站,然後網絡廢料數據(Python)
import bs4
import requests
session = requests.session
with requests.Session() as s:
url = 'https://www.planetplus.pl/'
res = requests.get(url)
data = res.text
soup = bs4.BeautifulSoup(data, 'lxml')
token = soup.find_all('input', attrs={'name': '__RequestVerificationToken'})[0]['value']
print(token)
payload = {'UserName': 'xxx', 'Password': 'yyy',
'__RequestVerificationToken': token}
p = s.post(url, data=payload)
r = s.get('https://www.planetplus.pl/moje-konto-cashback')
print(r.text)
網站鏈接:https://www.planetplus.pl/
嗯,說實話我是個初學者,所以如果你能糾正我,甚至複雜的,建議如何做到這一點的最好的,這將是巨大的!
此外,網站http://www.exsite.pl/的程序有多少不同,因爲我刪除登錄憑證字典中的令牌部分,並且輸出是訪問受限頁面html代碼。不要判斷網站,先用不同的登錄類型中發現,至少對我來說不同;)
import requests
with requests.Session() as s:
session = requests.session
url = 'http://exsite.pl//'
payload = {'login_name': 'xxx', 'login_password': 'yyy!'}
p = s.post(url, data=payload)
#print(p.text)
r = s.get('http://www.exsite.pl/filmy_video_movies/filmy-dvdrip-brrip/1378773-ukryte-piekno-collateral-beauty-2016-plsubbed480pbrripxvidac3-krt-napisy-pl.html')
print(r.text)
以關注會話對象。如果你想使用同一個會話,那麼你應該使用同一個會話對象。 –
另請注意我是如何移動變量BASE_URL和LOGIN_URL的。你應該對重複的代碼做同樣的事情。 –
我可能看起來很笨,但它現在可以工作。 'BASE_URL ='http://www.exsite.pl/' LOGIN_URL = BASE_URL with requests.Session()as session: res = session.get(BASE_URL) payload = {'login_name':'xxx', 'login_password':'!xxx'} session.post(BASE_URL,data = payload) res = session.get('http://www.exsite.pl/') res = res.text print(res )' – Sebastian