在python中登录Vk.com

时间:2016-11-20 18:31:48

标签: python login web-scraping python-requests vk

我想在python中登录Vk.com。我不想使用机械,斜纹或类似的东西。我只想使用请求或urllib。

这是我用来登录但失败的代码:

import requests
login_url = 'https://login.vk.com/?act=login'
payload = {'email':'EMAIL','pass':'PASSWORD'}
result = requests.get(login_url,data=payload).content

我也尝试使用此有效负载:

payload = {'role':'al_frame','expire':'1','captcha_sid':'','captcha_key':'','_origin':'https%3A%2F%2Fvk.com','ip_h':'1bab73f98c2a0d4319','lg_h':'b2765a98e04fead77c','email':'EMAIL','pass':'PASSWORD'}

但他们都未能登录Vk.com。我该如何登录网站?

1 个答案:

答案 0 :(得分:2)

经过几个小时的努力,最后我找到了解决方案。

import requests
from bs4 import BeautifulSoup as bs
headers={"Referer":"https://m.vk.com/login?role=fast&to=&s=1&m=1&email=YOUR_EMAIL"
,'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:50.0) Gecko/20100101 Firefox/50.0'}
payload = {'email':'YOUR EMAIL','pass':'PASSWORD'}

with requests.Session() as S:
    page = S.get('https://m.vk.com/login')
    soup = bs(page.content,'lxml')
    url = soup.find('form')['action']
    p = S.post(url,data=payload,headers=headers)
    #NOW YOU ARE SUCCESSFULLY LOGGED IN