python登陆网站
『壹』 python3 怎样自动登录网站
先用chrome的调试器抓取登录的POST请求,对照网页里表单的代码,你就清楚该网站登录的接口,版之后用requests写就是权了。
我一般用更省事的方法,勾选自动登录,然后把cookies存下来给程序用,免登录,也不用处理登录验证码。当然需要增加检测是否需要重登录的逻辑。
少数情况下网站会拒绝常见浏览器以外的客户端请求,需要伪造user-agent,例如https://proxy.org 这个网站,直接用requests抓会返回一个“你丫是爬虫吧”的错误页面。
『贰』 怎样用python实现网页自动登录
可以在cmd下通过命令安装selenium模块:pip install selenium 或者 easy_install selenium。
分析网页控件id:
# -*- coding: utf-8 -*-
import os
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
iedriver = "C:Program FilesInternet ExplorerIEDriverServer.exe"
os.environ["webdriver.ie.driver"] = iedriver #调用浏览器
browser = webdriver.Ie(iedriver)
browser.get('http://weibo.com/') #需要打开的网址
user = browser.find_element_by_id("loginname") #审查元素username的id
user.send_keys("11111") #输入账号
password = browser.find_element_by_name("password") #审查元素password的name
password.send_keys("1234") #输入密码
password.send_keys(Keys.RETURN) #实现自动点击登陆
print('登陆成功')
『叁』 python如何自动登录网页
import urllib
import urllib2
你会发现很简单。例子网上很多,试下不行再追问。
『肆』 如何用python实现网页自动登录
以登陆网络为例子,如下:
import urllib,urllib2,httplib,cookielib
def auto_login_hi(url,name,pwd):
url_hi="http://passport..com/?login"
#设置cookie
cookie=cookielib.CookieJar()
cj=urllib2.HTTPCookieProcessor(cookie)
#设置登录参数
postdata=urllib.urlencode({'username':name,'password':pwd})
#生成请求
request=urllib2.Request(url_hi,postdata)
#登录网络
opener=urllib2.build_opener(request,cj)
f=opener.open(request)
print f
#打开网络HI空间页面
hi_html=opener.open(url)
return hi_html
if __name__=='__main__':
name='name'
password='password'
url='yoururl'#例如:url='http://hi..com/cdkey51'
h=auto_login_hi(url,name,password)
print h.read()#h里面的内容便是登录后的页面内容
『伍』 我想写一个批量python登录网站,并且登录后指定一个网址判断网页是否是我想要的东西,把我
我们将会按照以下步骤进行:
提取登录需要的详细信息
执行站点登录
爬取所需要的数据
在本教程中,我使用了以下包(可以在 requirements.txt 中找到):
requests
lxml
步骤一:研究该网站
打开登录页面
进入以下页面 “”。你会看到如下图所示的页面(执行注销,以防你已经登录)
仔细研究那些我们需要提取的详细信息,以供登录之用
在这一部分,我们会创建一个字典来保存执行登录的详细信息:
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” 的隐藏输入值)。列如:“”。
最后我们将会得到一个类似这样的字典:
payload = {
"username": "<USER NAME>",
"password": "<PASSWORD>",
"csrfmiddlewaretoken": "<CSRF_TOKEN>"
}
请记住,这是这个网站的一个具体案例。虽然这个登录表单很简单,但其他网站可能需要我们检查浏览器的请求日志,并找到登录步骤中应该使用的相关的 key 值和 value 值。
步骤2:执行登录网站
对于这个脚本,我们只需要导入如下内容:
import requests
from lxml import html
首先,我们要创建 session 对象。这个对象会允许我们保存所有的登录会话请求。
session_requests = requests.session()
第二,我们要从该网页上提取在登录时所使用的 csrf 标记。在这个例子中,我们使用的是 lxml 和 xpath 来提取,我们也可以使用正则表达式或者其他的一些方法来提取这些数据。
login_url = ""
result = session_requests.get(login_url)
tree = html.fromstring(result.text)
authenticity_token = list(set(tree.xpath("//input[@name='csrfmiddlewaretoken']/@value")))[0]
接下来,我们要执行登录阶段。在这一阶段,我们发送一个 POST 请求给登录的 url。我们使用前面步骤中创建的 payload 作为 data 。也可以为该请求使用一个标题并在该标题中给这个相同的 url 添加一个参照键。
result = session_requests.post(
login_url,
data = payload,
headers = dict(referer=login_url)
)
步骤三:爬取内容
现在,我们已经登录成功了,我们将从 bitbucket dashboard 页面上执行真正的爬取操作。
url = ''
result = session_requests.get(
url,
headers = dict(referer = url)
)
为了测试以上内容,我们从 bitbucket dashboard 页面上爬取了项目列表。我们将再次使用 xpath 来查找目标元素,清除新行中的文本和空格并打印出结果。如果一切都运行 OK,输出结果应该是你 bitbucket 账户中的 buckets / project 列表。
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
你也可以通过检查从每个请求返回的状态代码来验证这些请求结果。它不会总是能让你知道登录阶段是否是成功的,但是可以用来作为一个验证指标。
例如:
result.ok # 会告诉我们最后一次请求是否成功
result.status_code # 会返回给我们最后一次请求的状态
就是这样。
『陆』 如何用python模拟登录一个网站
首先你要清楚整个登录过程,浏览器按F12,查看网络,看看浏览器发生了什么请求,收到了什么回复。
然后用用urllib或requests库发送request就行了。
关于要不要验证码,肯定有那个请求,你没有看到吧?
如果要就会请求验证码,在request里面发送就好了。
『柒』 如何访问需要登陆的网页 python
可以尝试添加相关cookie来试着去访问。自己先本地登录一下,然后抓取页面cookie,然后构造相应的请求,让他看起来像是登录过的,如果网站验证的不是特别严的话,是可以成功的。
还有一种方法,就是用Selenium框架,他会打开一个浏览器,然后访问指定url。但是还是免不了需要登录一次,但是登录过程,输入账号密码和点击登录按钮都是你可以模拟的。具体你可以参照官方文档。
『捌』 python爬虫模拟登陆网站
你可以结合使用requests和selenium这两个python模块来实现半自动化模拟登录。
#-*-coding:utf-8-*-
importtime
importrequests
fromrequests.sessionsimportcookiejar_from_dict
fromseleniumimportwebdriver
LOGIN_URL='http://www.cofool.com/'
driver=webdriver.Firefox()
driver.get(LOGIN_URL)
time.sleep(30)
cookies={}
forcookieindriver.get_cookies():
cookies[cookie['name']]=cookie['value']
driver.quit()
printcookies
#cookies={}
headers={
'User-Agent':'Mozilla/5.0(WindowsNT6.1;WOW64;rv:24.0)Gecko/20100101Firefox/24.0',
'Accept':'*/*',
'Connection':'keep-alive',
}
cookies=cookiejar_from_dict(cookies)
rep=requests.get('http://www2.cofool.com/stock/mainzjgp.asp',cookies=cookies,headers=headers)
printrep.text
如果解决了您的问题请点赞!
如果未解决请继续追问
『玖』 python里怎么用spynner登录网页
有些网页需要你登录之后才可以访问,你需要提供账户和密码。
只要在发送http请求时,带上含有正常登陆的cookie就可以了。
1.首先我们要先了解cookie的工作原理。
Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。Cookie名称和值可以由服务器端开发自己定义,对于JSP而言也可以直接写入jsessionid,这样服务器可以知道该用户是否合法用户以及是否需要重新登录等。
2.之后我们要获取到用户正常登录的cookie.
python提供了cookieJar的库,只要把cookieJar的实例作为参数传到urllib2的一个opener里面。
然后访问一次登录的页面,cookie就已经保存下来了。之后通过这个实例访问所有的页面都带有正常登陆的cookie了。
以人人网为例子。
#encoding=utf-8
import urllib2
import urllib
import cookielib
def renrenBrower(url,user,password):
#登陆页面,可以通过抓包工具分析获得,如fiddler,wireshark
login_page = "http://www.renren.com/PLogin.do"
try:
#获得一个cookieJar实例
cj = cookielib.CookieJar()
#cookieJar作为参数,获得一个opener的实例
opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
#伪装成一个正常的浏览器,避免有些web服务器拒绝访问。
opener.addheaders = [('User-agent','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)')]
#生成Post数据,含有登陆用户名密码。
data = urllib.urlencode({"email":user,"password":password})
#以post的方法访问登陆页面,访问之后cookieJar会自定保存cookie
opener.open(login_page,data)
#以带cookie的方式访问页面
op=opener.open(url)
#读取页面源码
data= op.read()
return data
except Exception,e:
print str(e)
#访问某用户的个人主页,其实这已经实现了人人网的签到功能。
『拾』 想用python编写一个脚本,登录网页,在网页里做一系列操作,应该怎样实现
python编写一个脚本的具体操作:
1、首先,打开python并创建一个新的PY文件。