Python爬虫-爬取300个短租网房源信息

       抓取小猪短租网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标签部分,故定义函数来得到包含详情页网址信息的列表:

获取详情页网址信息函数

5、提取房源详情页网址:通过第4步的函数来提取其中的网址:每个列表页抓取12个房源网址

提取网址

6、从房源详情页抓取信息:定义函数,基本是重复第4步的方法,通过select方法得到具体信息:

Python爬虫-爬取300个短租网房源信息_第1张图片
定义主函数

此步难点在判断房东性别部分,通过观察房东性别部分源码,发现男性class部分为“member_ico”,女性为“member_ico1”,故通过获取sex的class来判断性别;

7、打印房源信息:包含房源详情页网址的url_detail是一个列表,使用如下方法:

Python爬虫-爬取300个短租网房源信息_第2张图片
打印结果

最终得到包含房源信息的字典,不知道为什么字典与字典之间都有一个None。

      这是我第一个独立完成的爬虫程序,虽然现在看看代码就这么几行还没什么实际用处,但过程中的反复测试、程序报错、检查代码、修改,可是吭哧了好半天,光是起名字就给我纠结的够呛,过程中把以前的基础知识也复习了好多。

       实践出真知,古人诚不我欺,anyway,终于迈出了艰难的第一步。

你可能感兴趣的:(Python爬虫-爬取300个短租网房源信息)