我想抓一个我当前活跃的board成员。但为了实现这一点,我必须登录。我已经看过各种帖子,但却不理解它背后的逻辑。也没找到可行的解决方案。
这是我要登录的site。
我明白我必须填写密码和用户名字段并在" flye"上生成md5hash密码。但我不知道如何开始这个。并且不明白登录过程是什么样的。我的问题是如何解决这个问题我需要做些什么。我需要考虑哪些事项?我该如何开始?你的整体推荐是什么?
我使用的是Python 3.6,我是一个试图学习python的菜鸟。
亲爱的问候
答案 0 :(得分:0)
您好我发现了一些谷歌搜索您发现的问题" Tonakai"谁发布了他的脚本登录到vBulletin Board这是一个python 2脚本你可以通过做一些改变在python 2上轻松使用它这是scipt:
//
import hashlib
import requests
username = 'yourusername'
password = 'yourpassword'
BASE_URL = 'http://www.example.com'
session = requests.Session()
session.post(BASE_URL + 'login.php?do=login', {
'vb_login_username': config.username, //vb_login_username is the variable vBulletin uses when you input your Username for logging in
'vb_login_password': '',//Same for the password
'vb_login_md5password': hashlib.md5(config.password.encode()).hexdigest(),//vBulletin uses MD5 encode
'vb_login_md5password_utf': hashlib.md5(config.password.encode()).hexdigest(),
'cookieuser': 1, //That allows you to stay logged in as a real nerd
'do': 'login',
's': '',
'securitytoken': 'guest'
})
答案 1 :(得分:0)
我在另一个网站上遇到了同样的问题。基于Chamsddine107解决方案,这对我有用:
import hashlib
import requests
from bs4 import BeautifulSoup
with requests.Session() as s:
username = 'YOUR USERNAME'
password = 'YOUR PASSWORD'
BASE_URL = 'https://ozbeceriksizler.com'
r = s.post(BASE_URL + '/login.php?do=login', {
'vb_login_username': username,
'vb_login_password': password,
'vb_login_md5password': hashlib.md5(password.encode()).hexdigest(),
'vb_login_md5password_utf': hashlib.md5(password.encode("utf-8")).hexdigest(),
'cookieuser': 1,
'do': 'login',
's': '',
'securitytoken': 'guest'
})
base_page = s.get('THE PAGE ON THE WEBSITE YOU WANT TO SCRAPE')
soup = BeautifulSoup(base_page.content, 'lxml')
print(soup)