#Python登录抓取JSON数据
import re
import urllib.request
import http.cookiejar
import json
import jsonpath
#from http.comkie import CookieJar 上面那句和这句等同
loginurl='http://www.abcd.com/AdminLogin/Index/login.php'登录提交
imgurl="http://www.abcd.com/Index/verifyB"#验证码地址
cookie = http.cookiejar.CookieJar() # 声明一个CookieJar对象实例来保存cookie
handler = urllib.request.HTTPCookieProcessor(cookie) # 利用urllib2库的HTTPCookieProcessor对象来创建cookie处理器
opener = urllib.request.build_opener(handler)## 通过handler来构建opener
#response = opener.open(pinurl) # 此处的open方法同urllib2的urlopen方法,也可以传入request
#for item in cookie:
#print('Name = ' + item.name)
#print('Value = ' + item.value)#打印cooke数值
params={} #DICT字典数据类型
params['username']='admin'
params['password']='123789ac'#这里写上已有的用户名和密码
imgb = opener.open(img)
local = open('v.jpg','wb')#保存验证码到本地
local.write(imgb.read())
local.close()
vcode=input('请输入图片上的验证码:')
params["captcha"] = vcode
print(urllib.parse.urlencode(params).encode('utf-8'))
response = opener.open(pinurl,urllib.parse.urlencode(params).encode('utf-8'))
#print(response.read().decode('utf-8'))
#html = opener.open('http://ww.abc.com/index.php')
jhtml = opener.open('http://www.abc.com/index.php/Review/Account/getWebAccountInfo?_dc=1530350429924&page=1&start=0&limit=21658')
hjson = json.loads(jhtml.read())# json字符串转换为python字典对象
Vlist=jsonpath.jsonpath(hjson,"$.data[*]") #python形式的列表
for v in Vlist:
print(v['name'])
Python登录抓取JSON数据
最新推荐文章于 2024-06-18 17:19:36 发布