千家信息网

如何用python登录主流 24 个网站

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,如何用python登录主流 24 个网站,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。爬虫脚本是大家经常用到的,那就避开
千家信息网最后更新 2026年11月01日如何用python登录主流 24 个网站

如何用python登录主流 24 个网站,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

爬虫脚本是大家经常用到的,那就避开不了登录 这一关。

使用Python一般需要request库,补充 header 中的 post 要素,有些还会有 隐藏的 hidden 参数,可以通过浏览器 F12 或者元素审查来发现,对于初学者来说都是一个坑。

还有需要解决验证码的问题,一种方法是下载验证码图片识别验证码再次post,或者使用云打码平台。当然,有些验证码及其变态就不那么容易解决了,比如选字顺序、滑块、12306那种人为都会选错的。

已完成的主流网站


上面是作者已经完成的一些主流网站了,其中有的是通过 selenium登录,有的是通过 抓包直接模拟登录,有的是利用 scrapy框架。

这个很容易理解,因为有的网站设计比较复杂,通过抓包很难实现模拟登录,这样用 selenium+webdriver 就会相对轻松一些。

虽然在登录的时候采用的是selenium,为了效率,我们可以在登录过后得到的cookie维护起来,然后调用requests或者scrapy等进行数据采集,这样数据采集的速度可以得到保证。

模拟登录GitHub

这里给大家展示一个模拟登录GitHub的代码。

"""
github第二种登录方式
info:
author:CriseLYJ
github:https://github.com/CriseLYJ/
update_time:2019-3-7
"""

import re
import requests
from lxml import etree


class Login(object):
class GithubLogin(object):

def __init__(self, email, password):

# 初始化信息
self.headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',
'Referer': 'https://github.com/',
'Host': 'github.com'
}

self.session = requests.Session()
self.login_url = 'https://github.com/login'
self.post_url = 'https://github.com/session'
self.session = requests.Session()

self.email = email
self.password = password
    # 模拟登录
def login_GitHub(self):

# 登录入口
post_data = {
'commit': 'Sign in',
'utf8': '✓',
'authenticity_token': self.get_token(),
'login': self.email,
'password': self.password
}
resp = self.session.post(
self.post_url, data=post_data, headers=self.headers)

print('StatusCode:', resp.status_code)
if resp.status_code != 200:
print('Login Fail')
match = re.search(r'"user-login" content="(.*?)"', resp.text)
user_name = match.group(1)
print('UserName:', user_name)

response = self.session.post(self.post_url, data=post_data, headers=self.headers)

print(response.status_code)
print(post_data)

if response.status_code == 200:
print("登录成功!")
else:
print("登录失败!")
    # 获取token信息
# Get login token
def get_token(self):

response = self.session.get(self.login_url, headers=self.headers)

html = etree.HTML(response.content.decode())

token = html.xpath('//input[@name="authenticity_token"]/@value')[0]

return token
if response.status_code != 200:
print('Get token fail')
return None
match = re.search(
r'name="authenticity_token" value="(.*?)"', response.text)
if not match:
print('Get Token Fail')
return None
return match.group(1)
if __name__ == '__main__':
email = input('请输入您的账号: ')
password = input('请输入您的密码: ')
email = input('Account:')
password = input('Password:')

login = Login(email, password)
login = GithubLogin(email, password)
login.login_GitHub()

相信这对初学爬虫的朋友是一个很好的教程。

但提示一下,模拟登录的代码随时都有可能失效,因为前端的网页HTML、CSS、JS等结构可能会根据公司业务调整之类的发生变化。

所以,重点是掌握了各种技巧,学会这些完全可以自己调试完成登录,那时候你也可以成为 contributor 了!

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

登录 网站 验证 主流 有的是 代码 信息 数据 数据采集 时候 爬虫 帮助 输入 复杂 清楚 业务 元素 入口 再次 初学者 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手冲咖啡和咖啡机区别 港股互联网科技股 互联网科技的 科技与互联网发展 华宇互联网科技 互联网金融公司科技 互联网 卓越科技 南京欣网互联网科技 哈尔滨秒房互联网科技有限公司 互联网公司会议桌创意科技软装饰 互联网科技公司招聘 欧洲十大科技互联网公司 互联网企业和科技型企业 朱啸虎曾投资哪些互联网科技企业 国大互联网教育科技有限公司薪资 下一代互联网重大应用科技园 上海乐五互联网科技有限公司 福州德业互联网科技 玉溪新华互联网科技怎么选 承德科技产业互联网平台 互联网金融 金融科技 安徽鑫晟辉互联网科技 亿账通互联网科技 互联网 新科技 想开互联网科技公司怎么样 山东大美朱楼互联网科技有限公司 互联网公司属于科技吗 绵阳真晨互联网科技有限公司 六子台科技互联网展会 互联网 科技节活动 微视频大赛
0