一、背景
如上图,某网站进行查询需要输入验证码,验证码图片是一个链接,研究了一下输入验证码和查询条件后的url结构(http://zfcj.gz.gov.cn/data/QueryService/Query.aspx?QueryID=26&IsSearch=true&PYBH=&XQMC=&FBZL=&FWYZRZJ=&HXS=&HXT=&HXCF=&HXW=&HXYT=&FWYT=-1&JZMJ=&XZQH=&FYZT=&ZJFWJGMC=&QYSJSTART=2020-03-01&QYSJEND=2020-03-02&ValidateCode=108365),发现其实url很简单,加粗部分就是搜索条件和验证码ValidateCode。常规思路是根据验证码链接把照片下载下来,再用tesserocr进行图片识别,把验证码识别出来后,结合搜索条件组成url就行了。
二、第一次错误示范
import tesserocr
from PIL import Image
#获取验证码
def get_code(url):
r = requests.get(url)
with open('./image/img.jpg', 'wb') as f:
f.write(r.content)
img = Image.open("./image/img.jpg")
code = tesserocr.image_to_text(img).strip()
return code```
#处理要爬取的网页url问题
#自定义起始日期和终止日期
start_date = '2020-03-01'
end_date = '2020-03-02'
code_url =