登录网站,然后登录网页废料数据(Python)

时间:2017-03-02 16:17:20

标签: python web-scraping basic-authentication

我恳请你纠正我错在这里。我获得的html代码也是一个带登录表单的页面。我在这里要做的是在一个会话期间获取一个令牌,然后使用它来登录。我打算做的是使用bs4来收集一些数据。

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)

1 个答案:

答案 0 :(得分:1)

https://www.planetplus.pl/

的工作示例
import bs4
import requests


BASE_URL = 'https://www.planetplus.pl/'
LOGIN_URL = BASE_URL + 'logowanie'


with requests.Session() as session:
    res = session.get(BASE_URL)

    soup = bs4.BeautifulSoup(res.text, 'lxml')
    token = soup.find_all('input', attrs={'name': '__RequestVerificationToken'})[0]['value']
    payload = {'UserName': '6r5anl+fnmps358bvh8@sharklasers.com', 'Password': 'qwerty',
               '__RequestVerificationToken': token}

    session.post(LOGIN_URL , data=payload)
    res = session.get(BASE_URL)
    print(res.text)