首页技术python免费观看不用登录?python登录

python免费观看不用登录?python登录

编程之家2026-07-031182次浏览

本篇文章给大家谈谈python免费观看不用登录,以及python登录对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

python免费观看不用登录?python登录

如何用 Python 爬取需要登录的网站

最近我必须执行一项从一个需要登录的网站上爬取一些网页的操作。它没有我想象中那么简单,因此我决定为它写一个辅助教程。

在本教程中,我们将从我们的bitbucket账户中爬取一个项目列表。

教程中的代码可以从我的Github中找到。

我们将会按照以下步骤进行:

提取登录需要的详细信息

执行站点登录

python免费观看不用登录?python登录

爬取所需要的数据

在本教程中,我使用了以下包(可以在requirements.txt中找到):

Python

1

2

requests

python免费观看不用登录?python登录

lxml

步骤一:研究该网站

打开登录页面

进入以下页面“bitbucket.org/account/signin”。你会看到如下图所示的页面(执行注销,以防你已经登录)

仔细研究那些我们需要提取的详细信息,以供登录之用

在这一部分,我们会创建一个字典来保存执行登录的详细信息:

1.右击“Username or email”字段,选择“查看元素”。我们将使用“name”属性为“username”的输入框的值。“username”将会是 key值,我们的用户名/电子邮箱就是对应的 value值(在其他的网站上这些 key值可能是“email”,“ user_name”,“ login”,等等)。

2.右击“Password”字段,选择“查看元素”。在脚本中我们需要使用“name”属性为“password”的输入框的值。“password”将是字典的 key值,我们输入的密码将是对应的 value值(在其他网站key值可能是“userpassword”,“loginpassword”,“pwd”,等等)。

3.在源代码页面中,查找一个名为“csrfmiddlewaretoken”的隐藏输入标签。“csrfmiddlewaretoken”将是 key值,而对应的 value值将是这个隐藏的输入值(在其他网站上这个 value值可能是一个名为“csrftoken”,“authenticationtoken”的隐藏输入值)。列如:“Vy00PE3Ra6aISwKBrPn72SFml00IcUV8”。

最后我们将会得到一个类似这样的字典:

Python

1

2

3

4

5

payload={

"username":"<USER NAME>",

"password":"<PASSWORD>",

"csrfmiddlewaretoken":"<CSRF_TOKEN>"

}

请记住,这是这个网站的一个具体案例。虽然这个登录表单很简单,但其他网站可能需要我们检查浏览器的请求日志,并找到登录步骤中应该使用的相关的 key值和 value值。

步骤2:执行登录网站

对于这个脚本,我们只需要导入如下内容:

Python

1

2

import requests

from lxml import html

首先,我们要创建session对象。这个对象会允许我们保存所有的登录会话请求。

Python

1

session_requests= requests.session()

第二,我们要从该网页上提取在登录时所使用的 csrf标记。在这个例子中,我们使用的是 lxml和 xpath来提取,我们也可以使用正则表达式或者其他的一些方法来提取这些数据。

Python

1

2

3

4

5

login_url="n/?next=/"

result= session_requests.get(login_url)

tree= html.fromstring(result.text)

authenticity_token= list(set(tree.xpath("//input[@name='csrfmiddlewaretoken']/@value")))[0]

**更多关于xpath和lxml的信息可以在这里找到。

接下来,我们要执行登录阶段。在这一阶段,我们发送一个 POST请求给登录的 url。我们使用前面步骤中创建的 payload作为 data。也可以为该请求使用一个标题并在该标题中给这个相同的 url添加一个参照键。

Python

1

2

3

4

5

result= session_requests.post(

login_url,

data= payload,

headers= dict(referer=login_url)

)

步骤三:爬取内容

现在,我们已经登录成功了,我们将从bitbucket dashboard页面上执行真正的爬取操作。

Python

1

2

3

4

5

url='/overview'

result= session_requests.get(

url,

headers= dict(referer= url)

)

为了测试以上内容,我们从 bitbucket dashboard页面上爬取了项目列表。我们将再次使用 xpath来查找目标元素,清除新行中的文本和空格并打印出结果。如果一切都运行 OK,输出结果应该是你 bitbucket账户中的 buckets/ project列表。

Python

1

2

3

4

5

tree= html.fromstring(result.content)

bucket_elems= tree.findall(".//span[@class='repo-name']/")

bucket_names= [bucket.text_content.replace("n","").strip() for bucket in bucket_elems]

print bucket_names

你也可以通过检查从每个请求返回的状态代码来验证这些请求结果。它不会总是能让你知道登录阶段是否是成功的,但是可以用来作为一个验证指标。

例如:

Python

1

2

result.ok#会告诉我们最后一次请求是否成功

result.status_code#会返回给我们最后一次请求的状态

python接口自动化之token登录

前言

有些登录不是用cookie来验证的,是用token参数来判断是否登录。

token传参有两种一种是放在请求头里,本质上是跟cookie是一样的,只是换个单词而已;另外一种是在url请求参数里,这种更直观。

一、登录返回token

1.如下图的这个登录,无cookies

2.但是登录成功后有返回token

二、请求头带token

1.登录成功后继续操作其它页面,发现post请求的请求头,都会带token参数

2.这种请求其实比cookie更简单,直接把登录后的token放到头部就行

三、token关联

1.用脚本实现登录,获取token参数,获取后传参到请求头就可以了

2.如果登录有验证码,前面的脚本登录步骤就省略了,自己手动登录后获取token

import requests

header={#登录抓包获取的头部

"User-Agent":"Mozilla/5.0(Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0",

"Accept":"/",

"Accept-Language":"zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3",

"Accept-Encoding":"gzip, deflate",

"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8",

"X-Requested-With":"XMLHttpRequest",

"Content-Length":"423",

"Connection":"keep-alive"

}

body={"key1":"value1",

"key2":"value2"}#这里账号密码就是抓包的数据

s= requests.session()

login_url=" "#自己找带token网址

login_ret= s.post(login_url, headers=header, data=body)

token= login_ret.json()["token"]

post_url=" "

header["token"]= token

header["Content-Length"]="9"

body1={

"key":"value"

}

post_ret= s.post(post_url, headers=header, data=body1)

print post_ret.content

python项目实战:实现验证码登录网址实例

Python项目实战:实现验证码登录网址实例

1.项目概述验证码登录是网站防止恶意访问的常见手段。本项目使用Python3实现验证码登录功能,主要依赖以下库:

re:正则表达式处理urllib.request:发送HTTP请求http.cookiejar:管理Cookie2.导入第三方库首先导入必要的库:

import reimport urllib.requestimport http.cookiejar3.账号信息输入通过用户输入获取账号和密码:

username= input("请输入用户名:")password= input("请输入密码:")

4.首页提交登录模拟登录请求,需处理Cookie和表单数据:

#初始化Cookiecookie= http.cookiejar.CookieJar()opener= urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cookie))#登录URL(示例)login_url="构造POST数据post_data={"username": username,"password": password,"captcha": input("请输入验证码:")#验证码需人工输入}post_data= urllib.parse.urlencode(post_data).encode("utf-8")#发送请求request= urllib.request.Request(login_url, post_data)response= opener.open(request)

5.验证码图片处理验证码通常以图片形式返回,需下载并显示给用户:

#获取验证码图片URL(示例)captcha_url="下载验证码图片response= opener.open(captcha_url)captcha_image= response.read()#保存验证码图片到本地with open("captcha.jpg","wb") as f: f.write(captcha_image)#提示用户输入验证码print("验证码已保存为 captcha.jpg,请查看并输入:")

6.完整流程说明首次请求:访问登录页面,服务器返回Cookie和验证码图片。人工输入:用户查看本地保存的验证码图片并输入。二次提交:携带Cookie、账号密码及验证码发送POST请求完成登录。7.关键点总结Cookie管理:通过http.cookiejar自动处理Cookie,避免重复登录。验证码处理:需人工干预输入验证码,自动化识别需结合OCR技术(如pytesseract)。请求头伪装:建议添加User-Agent等头信息模拟浏览器行为。8.扩展优化自动化验证码识别:集成OCR库(如Tesseract)减少人工操作。异常处理:捕获网络错误或验证码错误重试机制。Session保持:登录后复用opener访问需要权限的页面。9.注意事项验证码登录的核心是模拟浏览器行为,需确保请求头、Cookie与真实用户一致。部分网站可能启用JavaScript动态生成验证码,需用selenium等工具处理。通过以上步骤,即可实现一个基础的验证码登录系统。如需进一步自动化,可探索验证码识别技术或使用无头浏览器(如selenium)。

文章分享结束,python免费观看不用登录和python登录的答案你都知道了吗?欢迎再次光临本站哦!

轻量级开源cms(轻量级开源cms最新版本更新内容有哪)c语言仿真软件,c语言仿真软件有哪些