Python爬取安居客房产经纪人信息
引言
Python开源网络爬虫项目启动之初,我们就把网络爬虫分成两类:即时爬虫和收割式网络爬虫。为了使用各种应用场景,该项目的整个网络爬虫产品线包含了四类产品,如下图所示:
Python和相关依赖库的安装
运行环境:Windows10 + Python3
Lxml 3.6.0
网络爬虫的源代码
from urllib import request
from lxml import etree
from gooseeker import GsExtractor
'''
想要学习Python?Python学习交流群:984632579满足你的需求,资料都已经上传群文件,可以自行下载!
'''
class Spider:def getContent(self, url):conn = request.urlopen(url)output = etree.HTML(conn.read())return outputdef saveContent(self, filepath, content):file_obj = open(filepath, 'w', encoding='UTF-8')file_obj.write(content)file_obj.close()bbsExtra = GsExtractor()
# 下面这句调用gooseeker的api来设置xslt抓取规则
# 第一个参数是app key,请到GooSeeker会员中心申请
# 第二个参数是规则名,是通过GooSeeker的图形化工具: 谋数台MS 来生成的
bbsExtra.setXsltFromAPI("31d24931e043e2d5364d03b8ff9cc77e" , "安居客房产经纪人") url = "http://shenzhen.anjuke.com/tycoon/nanshan/p"
totalpages = 50
anjukeSpider = Spider()
print("爬取开始")for pagenumber in range(1 , totalpages):currenturl = url + str(pagenumber)print("正在爬取", currenturl)content = anjukeSpider.getContent(currenturl)outputxml = bbsExtra.extract(content)outputfile = "result" + str(pagenumber) +".xml"anjukeSpider.saveContent(outputfile , str(outputxml))print("爬取结束")
运行过程如下:
将上面的代码保存到anjuke.py中,和前面2.3步下载的提取器类gooseeker.py放在同一个文件夹中
打开Windows CMD窗口,切换当前目录到存放anjuke.py的路径(cd xxxxxxx)
运行 python anjuke.py
请注意:为了让源代码更整洁,也为了让爬虫程序更有通用性,抓取规则是通过api注入到内容提取器bbsExtra中的,这样还有另外一个好处:如果目标网页结构变化了,只需通过MS谋数台重新编辑抓取规则,而本例的网络爬虫代码不用修改。
爬虫结果
在项目目录下可以看到多个result**.xml文件,文件内容如下图所示:
总结
因为信息采集规则是通过api下载下来的,所以,本案例的源代码显得十分简洁。同时,整个程序框架变得很通用,因为最影响通用性的采集规则是从外部注入的。
Python爬取安居客房产经纪人信息相关推荐
- Python爬取安居客经纪人信息
Python爬取安居客经纪人信息 Python2.7.15 今天我们来爬取安居客经纪人的信息.这次我们不再使用正则,我们使用beautifulsoup.不了解的可以先看一下这个文档,便于理解.http ...
- Python爬取安居客新房信息
由于是刚开始学习Python爬虫,做个简单的爬虫,提供一个学习思路. 由于水平有限,正则表达式写的实在是抠脚,就直接上BeautifulSoup了. BeautifulSoup的学习参考http:// ...
- Python爬取安居客房产经纪人信息采集
为了使用各种应用场景,该项目的整个网络爬虫产品线包含了四类产品,如下图所示: Python和相关依赖库的安装 运行环境:Windows10 安装Python3.5.2 Lxml 3.6.0 下载网页内 ...
- python爬虫爬取安居客房源信息
爬取安居客房源信息 Xpath插件的安装 爬取重庆花溪附近的房源信息(进入正题啦~) 梳理下逻辑 爬取数据的通用流程 代码 代码的问题 & 运行时可能出现的问题 结果 数据处理部分(写给我自己 ...
- 爬虫项目--爬取安居客二手房信息
爬虫实战(爬取安居客二手房信息-成都天府新区) 环境:python3.6 pycharm bs4库 解析方式:bs4 需求:爬取二手房信息字段(titile,house_type,build_time ...
- 使用Python爬取安居客二手房房价数据
作为一个Python新手,公司突然安排我爬取房价数据,真让人有点头大啊!幸好网上的大佬们经验丰富,给予了很多代码上的帮助.本文代码在网友pythoner111爬虫项目–爬取安居客二手房信息的基础上修改 ...
- 爬取安居客租房信息,主要是获取电话号码
爬取安居客租房信息,主要是获取电话号码 想要得到个人房源的电话只能在app上获取,而且获取的是虚拟号码,没什么作用.所以我们这次获取的是经纪人房源的电话号码,随便打开一个网页,可以看到. 他的电话号码 ...
- bs4+phantomjs爬取安居客二手房信息
bs4+phantomjs爬取安居客二手房信息 这是我的第一篇博客,希望通过养成写博客的习惯来督促自己学习. 开发环境以及需要安装的模块 - Python3.6 - requests pip inst ...
- python爬取安居客网站上北京二手房数据
目标:爬取安居客网站上前10页北京二手房的数据,包括二手房源的名称.价格.几室几厅.大小.建造年份.联系人.地址.标签等. 网址为:https://beijing.anjuke.com/sale/ B ...
最新文章
- python软件界面-用Python写一个语音播放软件
- 《转》探讨:3D透视投影变换详解-兼谈视平面和屏幕的宽高比问题
- 当知识图谱遇上文本摘要:保留抽象式文本摘要的事实性知识
- [css] flex布局的缺点有哪些?(除兼容性外)
- ImportError: No module named urllib2
- Community宣言
- Spring整合JavaMail
- iSlide(PPT增强插件)官方正式版V5.6.1 | islide插件下载ppt插件在哪里下载?
- 微信公众号文章采集浅谈--搜狗APP近一天文章
- Landsat 数据其中 Collection 1/2 、Level 1/2、Tier 1/2的区别
- oracle rac 12514,ORA-12514: 错误解决一例
- ffmpeg+mencoder环境搭建和视频处理总结(4m/1/99)
- 36氪独家|「秦汉胡同」完成1亿元A轮融资,将发力线上内容产品和女性生活学习服务社群...
- SVLsimulator与apollo6.0联合仿真
- 计算新闻传播学临摹作业_数据抓取与数据清洗(西安交大国家艺术基金数据可视化培训第34天)
- matlab批量导入excel表格数据,matlab导入excel表格数据-如何用matlab读取多个excel表格数据,将每个表格数......
- Severance:BoD[官方英文版][资源收集分享]
- 读华为副总裁徐家骏总结的个人心得
- oracle数据库创建物化视图
- 爱心宠物诊所系统(禹州实训项目)