bs4+phantomjs爬取安居客二手房信息
这是我的第一篇博客,希望通过养成写博客的习惯来督促自己学习。
开发环境以及需要安装的模块
- Python3.6
- requests pip install requests
- BeautifulSoup4 pip install BeautifulSoup4
- selenium pip install selenium
- phantomjs 官网http://phantomjs.org/
分析
1、先来看下安居客移动端页面https://m.anjuke.com/sh/sale/pudong/?from=filterarea
2、点击 浦东 , 弹出菜单,左边是区,后边是商圈。
3、不停下拉直至出现,没有更多
我们用phantomjs来模拟浏览器操作。
需要注意的点:
某些商圈没有二手房信息,会在页面上显示 “没有符合条件的房源,请修改条件或关键词”。如青浦区下面的青东农场。
步骤
以安居客上海二手房为例。
为了尽量爬取更多的信息,以区为单位爬取。
以浦东为例:
- 获取浦东地区所有商圈的链接
- 对于每个商圈获取其页面
- 下拉至出现 没有更多
- 下载其HTML代码
- 利用bs4分析获取item
- 以json格式写入文件
如何获得每个区的链接我就不说了。
如和使用bs4我也不说了。
项目结构
Anjuke
—— anjuke.py
—— config.py
代码块
以下anjuke.py是部分代码
'''
step-1.获取所有商圈的移动端页面
step-2.每个页面模拟下拉直至完全显示
step-3.解析页面获得items
step-4.将items写入文件
'''
def main():
# init
start_url = 'https://m.anjuke.com/sh/sale/pudong/?from=filterarea'
browser = webdrive