因为我是系统内人员,知道登录名和密码,上边让我们把成千上万条数据一条一条查询,再复制到本地,眼睛都累瞎了,于是我写了个爬虫.
但隐藏了网站名,登录名和密码
其实代码写的稀烂,但我懒得改了,只要能爬下来我想要的数据就行了,说一下爬数据的过程
先用户名密码登录,输入验证码
用post方式提交身份证号获得关键数据
从关键数据里提取编号,再用这个编号爬个人的疫苗接种信息.
然后把信息保存到本地文件,完成了对一个人的查询.
因为要查的人有成千上万,所以要在本地准备一个excel文件,里边保存的都是要查人的身份证信息,用python提一条,爬一次,直到把数万人的信息爬完.
从本地文件提取身份证号码这段代码我没写.
import requests #爬网页
from bs4 import BeautifulSoup #解析网页内容
import xlwt
# 爬网页
url = 'https://**********/Default.aspx'
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'
}
response = requests.get(url=url,headers = headers,verify=False)
content = response.text
print(content)
# bs4解析
soup = BeautifulSoup(content,'lxml')
viewState =soup.select('#__VIEWSTATE')[0].attrs.get('value')
print(viewState)
viewStateGenerator =soup.select('#__VIEWSTATEGENERATOR')[0].attrs.get('value')
print(viewStateGenerator)
eVENTVALIDATION =soup.select('#__EVENTVALIDATION')[0].attrs.get('value')
print(eVENTVALIDATION)
# 验证码
imgShortCode =soup.select('#MyImg')[0].attrs.get('src')
# 拼接
imgCode = 'https://qhd.bbjh.org.cn/' + imgShortCode
print(imgCode)
# session
session = requests.session()
responseCode = session.get(imgCode,verify=False)
contentCode = responseCode.content
with