抓取小猪短租网300个房源详情,包括:房名、地址、图片地址、价格、户主名字、户主照片、户主性别。
使用到的库包括:BeautifulSoup、requests,视情况决定是否使用time模块。
个人思路整理:
1、每个列表页(url_list)包含24个房源信息(后发现程序运行时报错:IndexError: list index out of range,发现列表页可变为显示12个房源,遂改为每页抓取12个),点击可进入房源详情页(url_detail);
2、想要抓取每个房源的详细信息,要先获得该页面网址(url_detail);
3、获取每个列表页的网址:要抓取房源详情页网址(url_detail),需要解析当前列表页,想抓取300个房源信息,需要从25个列表页抓取,观察发现列表页网址中以p{}为区分页面的标记,故使用列表解析及字符串格式化来表示列表页网址:
url_list=['http://bj.xiaozhu.com/search-duanzufang-p{}-0/'.format(str(i))for i in range(1,26)]
4、获取房源网址:现在需要从列表页中抓取每个房源详情页网址,通过检查列表页源码发现该网址在“#page_list > ul > li:nth-child(3) > a”中的href标签部分,故定义函数来得到包含详情页网址信息的列表:
获取详情页网址信息函数