赞
踩
这次的例子性价比高啊,正则表达式,模拟登陆,验证码识别都会一步一步实现,教你怎么去爬取天气数据。
爬取网站为:
http://data.cma.cn
看到了登陆界面
点击登陆发现弹出:
现在就模拟要高模拟登陆了,以及发现了没有,还有验证码。
当然你牛的话可以搞深度学习识别验证码,cnn什么的,但是label起来或者找到验证码生成机制很麻烦啊。所以直接使用pytesseract,pytesser3验证码识别库来搞,大概7,8次就能识别对一次,没事,写个循环就行了。。。。
image=PIL.Image.open('./check.png')
image.show()
imgry = image.convert('L')
code = pytesser3.image_to_string(imgry).strip()
print(count)
params={
'userName':'*********',
'password':'*********',
verifyCode':code
}
code就是识别出的验证码和用户名,密码一起包装起来。
那么循环判断的条件怎么找呢,就是怎么判断正确识别验证码并登陆成功呢?
这时我们自己注册账号,密码登陆下用浏览器追踪下就知道了。
详细说下吧:
https://data.cma.cn/user/Login.html?callback=jQuery111000956116799264557_1514450850515&userName=********&password=******&verifyCode=3984
可找到这个请求url。
查看其content:
可以看到请求成功后信息是这个
{\”status\”:100,\”trueName\”:\”\u5218\u6653\u78ca\”}
注意:trueName为你的登陆用户名,会有所改变。
代码在github上:https://github.com/Juary88/PythonCrawl
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。