在上次我们已经成功实现了图像识别,接下来只需要获得房间价格是怎么从图片中产生的就可以了。
在列表中查找无果后,我点开了房屋详情,并发现了如下的信息。
我发现在这里,由js发起的ajax 请求设置了图片的背景和偏移量。
可以看到它请求的地址为
room_price_url = "http://www.ziroom.com/detail/info?id={}&house_id={}".format(room_id,house_id)
在知道house_id,home_id的情况下,只要请求它的地址,我们就能获得图片与图片的偏移量了。
获取房间的id
首先要从一开始的页面里,获取每间房间的详情地址。
room_url = "http:" + li.select("a")[0].get("href")#获取房间详情网址
这里要注意,我们直接通过select获取的网址是不完全的,要在前面拼接上http:
接下来,要从房屋详情中获得房间的id。我把它写成了方法,方便以后调用。
def get_id(room_url):#该方法返回房间id
url = room_url
header = {
'user-agent': 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (K