爬虫实践--租房信息查找
起因:最近需要找房子,选择58同城找个人房源发现一个个找太费事,想着先抓取房源存档后慢慢检索;
文件存放格式如下:
设计思路:
1.确定文件格式,分2个sheet,按照1室、2室划分
2.选择范围北蔡地区【这里可设置为变量,随意替换成其它地区】
3.抓取源码【选择分页中前3页,太久了信息作用不大】
4.分析源码找出抓取信息所在区块、调式区块内需要的一个个字段
5.将字段组合成list,每个list元素为一个元组()
6.调用自己编写的excel写入模块,写入信息、存档
调式遇到的坑:
1.网站针对请求有限制,多了会要求输入验证码【可加入请求头、请求间隔延长】
2.字段信息需要在当前页面拿到url,再请求一次拿到源码,有点杂乱
3.get_text() 获取区块的文字,文字间包含多个空格、换行,需要strip()去除首尾、re.sub(' +', ' ',string)去除中间多个空格为一个空格
4.字符串切割始终是难点 split(u'年')[0] 针对中文字符切记要带上u
5.抓取的字段需要转成unicode()
unicode(x.find_all(class_="positionInfo")[0].get_text()).strip().split(u'年')[0].split(")")[1].strip()
6.用到最多的方法
find_all(class_="house-update-info c_888 f12")[0] 【查找所有类为house-update-info c_888 f12 形成一个list】
find_all("li") 【查找所有<li>标签元素】
get_text() 文字读取
.a['href'] url读取 【下层级元素链接用'.' 比如.span .p .em】
["data-price"] 属性读取