爬取自如租房信息
最近正在学习python爬虫,顺便又要租房子,于是就想爬去自如上的租房信息顺便来联系一下。
·掉进价格的大坑里
在爬取过程中一切都听顺利的,可是到了最关键的房租部分就遇到了问题。居然是一张图片,每次加载一个随机顺序数字的图片,之后从这张图片根据像素截取出来数字之后显示价格。
在找到随机生成的图片后发现后面跟着一串列表,这些数字对应着真实的价格。
生成的随机图片长这样。。。
之后就跑去翻了很多大佬的文章,发现大家都遇到了这个坑。而且很多人也提供了自己的解决思路,但是大部分是要调用图片转文字的API。对于我这个菜鸟来说,听着就觉得很麻烦(调用免费API的使用次数少的可怜)。
·寻找出路
为了愉快的解决现在的问题,我决定自己想一想别的出路。前一段时间有点沉迷基于CNN的图片分类,自己慢慢照着大神的代码写了一个皮卡丘和妙蛙种子的分类器,结果直到现在还没有解决过拟合的问题。不过这个坑先放在一边,将图片输入CNN时,是将图片转换成一个numpy
的数组,然后再进行分类训练。既然这样,就可以将每个数字的数组都记录下来,之后再合爬去网页中新生成的图片对比,得到图片的随机数列,之后再根据之前找到的列表来确定每间房子的价格(我这只弱鸡总是喜欢想一些复杂的方法呀哈哈 )。
这是我随便找来的一张图片,保存在本地作为标准。
测试图片就用刚才的那一张图。
不废话直接上代码。。。
from PIL import Image
import numpy as np
import requests as req
from io import BytesIO
def read_image(imageName