‘壹’ 怎么python 模拟网站登录、注册
将注册名和密码存到字典中,下次登陆时就可以判断是否对应
‘贰’ python3模拟登录有哪些情况
使用谷歌浏览器F12查看登录请求内容
1.request header需要参数:User-Agent、Referer等。
2.post内容。
python 3.x中urllib库和urilib2库合并成了urllib库。
urllib2.urlopen()变成了urllib.request.urlopen()
urllib2.Request()变成了urllib.request.Request()
cookielib 模块-》http.cookiejar
#!/usr/bin/envpython
#-*-coding:gb2312-*-
#__author__="zhaowei"
'''
python3.4
模拟登录郑州公积金网站,查询缴存至月份。
'''
fromhtml.parserimportHTMLParser
importurllib
importhttp.cookiejar
importstring
importre
hosturl='http://www.zzgjj.com/index.asp'
posturl='http://www.zzgjj.com/user/login.asp'
cj=http.cookiejar.CookieJar()
cookie_support=urllib.request.HTTPCookieProcessor(cj)
opener=urllib.request.build_opener(cookie_support,urllib.request.HTTPHandler)
urllib.request.install_opener(opener)
h=urllib.request.urlopen(hosturl)
headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;WOW64;rv:38.0)Gecko/20100101Firefox/38.0',
'Referer':'http://www.zzgjj.com/index.asp'}
postData={'selectlb':'1',#登录模式,身份证2,账号1
'username':'1423141234',#公积金账号
'radename':'赵威',#姓名
'mm':'88888',#密码
'submit322':'确认'#固定值
}
postData=urllib.parse.urlencode(postData,encoding='gb2312').encode('gb2312')
#因为post里面有中文,因此需要先把url经过gb2312编码处理,然后再把请求编码为gb2312字节码(post必须是字节码)。
request=urllib.request.Request(posturl,postData,headers)
response=urllib.request.urlopen(request)
text=response.read()
html=text.decode('gb2312')
hgjj_last_data=re.findall('<td><p>缴至月份:</p>(s*)</td>(s*)<td>(.*?)</td>',html)
#使用正则表达式匹配缴至月份
print(hgjj_last_data[0][2])
‘叁’ python爬虫模拟登录是什么意思
有些网站需要登录后才能爬取所需要的信息,此时可以设计爬虫进行模拟登录,原理是利用浏览器cookie。
一、浏览器访问服务器的过程:
(1)浏览器(客户端)向Web服务器发出一个HTTP请求(Http request);
(2)Web服务器收到请求,发回响应信息(Http Response);
(3)浏览器解析内容呈现给用户。
二、利用Fiddler查看浏览器行为信息:
Http请求消息:
(1)起始行:包括请求方法、请求的资源、HTTP协议的版本号
这里GET请求没有消息主体,因此消息头后的空白行中没有其他数据。
(2)消息头:包含各种属性
(3)消息头结束后的空白行
(4)可选的消息体:包含数据
Http响应消息:
(1)起始行:包括HTTP协议版本,http状态码和状态
(2)消息头:包含各种属性
(3)消息体:包含数据
可以发现,信息里不仅有帐号(email)和密码(password),其实还有_xsrf(具体作用往后看)和remember_me(登录界面的“记住我”)两个值。
那么,在python爬虫中将这些信息同样发送,就可以模拟登录。
在发送的信息里出现了一个项:_xsrf,值为
这个项其实是在访问知乎登录网页https://www.hu.com/#signin时,网页发送过来的信息,在浏览器源码中可见:
所以需要先从登录网址https://www.hu.com/#signin获取这个_xsrf的值,
并连同帐号、密码等信息再POST到真正接收请求的http://www.hu.com/login/email网址。
(2)获取_xsrf的值:
爬取登录网址https://www.hu.com/#signin,从内容中获取_xsrf的值。
正则表达式。
(3)发送请求:
xsrf = 获取的_xsrf的值
data = {"email":"xxx","password":"xxx","_xsrf":xsrf}
login = s.post(loginURL, data = data, headers = headers)
loginURL:是真正POST到的网址,不一定等同于登录页面的网址;
(4)爬取登录后的网页:
response = s.get(getURL, cookies = login.cookies, headers = headers)
getURL:要爬取的登陆后的网页;
login.cookies:登陆时获取的cookie信息,存储在login中。
(5)输出内容:
print response.content
五、具体代码:
[python]view plain
#-*-coding:utf-8-*-
#author:Simon
#updatetime:2016年3月17日17:35:35
#功能:爬虫之模拟登录,urllib和requests都用了...
importurllib
importurllib2
importrequests
importre
headers={'User-Agent':'Mozilla/5.0(WindowsNT6.2)AppleWebKit/535.11(KHTML,likeGecko)Chrome/17.0.963.12Safari/535.11'}
defget_xsrf():
firstURL="http://www.hu.com/#signin"
request=urllib2.Request(firstURL,headers=headers)
response=urllib2.urlopen(request)
content=response.read()
pattern=re.compile(r'name="_xsrf"value="(.*?)"/>',re.S)
_xsrf=re.findall(pattern,content)
return_xsrf[0]
deflogin(par1):
s=requests.session()
afterURL="https://www.hu.com/explore"#想要爬取的登录后的页面
loginURL="http://www.hu.com/login/email"#POST发送到的网址
login=s.post(loginURL,data=par1,headers=headers)#发送登录信息,返回响应信息(包含cookie)
response=s.get(afterURL,cookies=login.cookies,headers=headers)#获得登陆后的响应信息,使用之前的cookie
returnresponse.content
xsrf=get_xsrf()
print"_xsrf的值是:"+xsrf
data={"email":"xxx","password":"xxx","_xsrf":xsrf}
printlogin(data)
六、补充:
用知乎网做完试验,发现这里好像并不需要发送_xsrf这个值。
不过有的网站在登陆时确实需要发送类似这样的一个值,可以用上述方法。
‘肆’ python3 用webdriver模拟登录页面,登录按钮的链接是javascript:;,怎么实现点击啊
你那个登录按钮有一个class="login-button logReg_btn1",可以用find_element_by_class_name()来识别,
输入login-button或者logReg_btn1都可以
‘伍’ Python培训哪里最好
相信在IT领域发展的同学对Java很熟悉。Python编程语言排行中一直处于领先地位,这可以直接体现Python的重要。因此很多同学准备参加Python培训机构系统学习。那么,Python培训机构哪家比较好?下面我们介绍一下。
随着Python普及,越来越多的人了解py,企业也会对求职者提出更高的要求,他们想招聘一些能马上开始工作的人,所以往往会招聘一些有项目开发经验的人。这就是为什么那么多计算机专业的大学生找不到工作,所以越来越多的大学生会选择在毕业前后参加一些专业的Python培训课程,以增加他们的实践经验。只有增强自己的力量,才能立于不败之地。
1.看教学课程内容
学习Java技术,最主要是与时俱进,掌握的技术点能够满足时下企业的用人需求。而想要了解一家培训机构所提供的课程是否新颖,也可以去机构的官网上看看,了解自己想学习的学科的课程大纲。看看学习路线图是如何安排的,有没有从零到一的系统搭建,是不是有强化实训、实操的比重,有尽量多的项目实战。因为企业对Java从业者的技术能力和动手实战能力要求较高。
2.看师资力量
因为Java开发技术知识的专业性很强,如果盲目去学很容易走进误区。相反,有讲师带领,站在巨人的肩膀上,往往事半功倍。毕竟现在这个时代只要多跟别人交流才能获得更多更有价值的信息,初学者千万不能闭门造车。
3.看口碑
行业内口碑比较好,学生对培训机构比较认可,这种机构把精力放在了学生身上的机构,才是做教育的应有态度。
4.看就业情况
以学生就业为目标的培训机构现在才是最主要的。要知道就业也是教学成果的体现,没有好的教学保证是做不到好的就业的。
5.上门免费试听
试听是为了更好的去感受培训机构的课程内容、讲课风格、班级氛围等,同时也能通过和班上在读同学进行交流,更进一步去了解这家培训机构各个方面是否符合自己的需要。
‘陆’ python3 怎么自动 模拟登录
之前刚回答过这个问题,代码给你粘过来吧,一个最简单的小例子:
import requests
url = 'https://***'
postdata = {
'username' : '***',
'password' : '***',
}
s = requests.session()
response = s.post(urls, data = postdata)
PS:星号换成你你实际的url和用户名密码
‘柒’ 使用pythonrest_framework制作的微信登录为什么只能一个号可以登录
如果是两个微信号,用的是一个手机号,就在的话,那你登陆的时候可能他只会登陆一个。需要另一个需要绑定新的手机号码,然后用新的去登陆你应该就行了。
微信是不能两个手机同时登录一个账号的。一部手机登录微信号,如果要用另一部登录,那么只能是退出第一部手机登录的微信,这也是为了用户的信息安全。不过,一部手机登录微信,还可以在电脑端登录。
一部手机是可以登录两个微信号的,但是只能是在微信多开的情况下,这就需要手机支持微信多开功能了,否则只能是相互切换微信号,而不能实时更新微信信息,但是微信多开登录两个微信号,则互不影响。
‘捌’ 哪个Python库可以操作登录微信公众号后,可以自动操作公众号里的内容。
selenium库
‘玖’ 用python程序模拟登录腾讯微博,会出现图形验证码,怎么能绕开这个图形验证码
建议不要这么做,哪天他换了估计你还要改代码,TX这种API应该都给了,你要做的是弹出验证码让用户输入才对