引言

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("爬取结束")

运行过程如下:

  1. 将上面的代码保存到anjuke.py中,和前面2.3步下载的提取器类gooseeker.py放在同一个文件夹中

  2. 打开Windows CMD窗口,切换当前目录到存放anjuke.py的路径(cd xxxxxxx)

  3. 运行 python anjuke.py

请注意:为了让源代码更整洁,也为了让爬虫程序更有通用性,抓取规则是通过api注入到内容提取器bbsExtra中的,这样还有另外一个好处:如果目标网页结构变化了,只需通过MS谋数台重新编辑抓取规则,而本例的网络爬虫代码不用修改。

爬虫结果

在项目目录下可以看到多个result**.xml文件,文件内容如下图所示:

总结

因为信息采集规则是通过api下载下来的,所以,本案例的源代码显得十分简洁。同时,整个程序框架变得很通用,因为最影响通用性的采集规则是从外部注入的。

Python爬取安居客房产经纪人信息相关推荐

  1. Python爬取安居客经纪人信息

    Python爬取安居客经纪人信息 Python2.7.15 今天我们来爬取安居客经纪人的信息.这次我们不再使用正则,我们使用beautifulsoup.不了解的可以先看一下这个文档,便于理解.http ...

  2. Python爬取安居客新房信息

    由于是刚开始学习Python爬虫,做个简单的爬虫,提供一个学习思路. 由于水平有限,正则表达式写的实在是抠脚,就直接上BeautifulSoup了. BeautifulSoup的学习参考http:// ...

  3. Python爬取安居客房产经纪人信息采集

    为了使用各种应用场景,该项目的整个网络爬虫产品线包含了四类产品,如下图所示: Python和相关依赖库的安装 运行环境:Windows10 安装Python3.5.2 Lxml 3.6.0 下载网页内 ...

  4. python爬虫爬取安居客房源信息

    爬取安居客房源信息 Xpath插件的安装 爬取重庆花溪附近的房源信息(进入正题啦~) 梳理下逻辑 爬取数据的通用流程 代码 代码的问题 & 运行时可能出现的问题 结果 数据处理部分(写给我自己 ...

  5. 爬虫项目--爬取安居客二手房信息

    爬虫实战(爬取安居客二手房信息-成都天府新区) 环境:python3.6 pycharm bs4库 解析方式:bs4 需求:爬取二手房信息字段(titile,house_type,build_time ...

  6. 使用Python爬取安居客二手房房价数据

    作为一个Python新手,公司突然安排我爬取房价数据,真让人有点头大啊!幸好网上的大佬们经验丰富,给予了很多代码上的帮助.本文代码在网友pythoner111爬虫项目–爬取安居客二手房信息的基础上修改 ...

  7. 爬取安居客租房信息,主要是获取电话号码

    爬取安居客租房信息,主要是获取电话号码 想要得到个人房源的电话只能在app上获取,而且获取的是虚拟号码,没什么作用.所以我们这次获取的是经纪人房源的电话号码,随便打开一个网页,可以看到. 他的电话号码 ...

  8. bs4+phantomjs爬取安居客二手房信息

    bs4+phantomjs爬取安居客二手房信息 这是我的第一篇博客,希望通过养成写博客的习惯来督促自己学习. 开发环境以及需要安装的模块 - Python3.6 - requests pip inst ...

  9. python爬取安居客网站上北京二手房数据

    目标:爬取安居客网站上前10页北京二手房的数据,包括二手房源的名称.价格.几室几厅.大小.建造年份.联系人.地址.标签等. 网址为:https://beijing.anjuke.com/sale/ B ...

最新文章

  1. python软件界面-用Python写一个语音播放软件
  2. 《转》探讨:3D透视投影变换详解-兼谈视平面和屏幕的宽高比问题
  3. 当知识图谱遇上文本摘要:保留抽象式文本摘要的事实性知识
  4. [css] flex布局的缺点有哪些?(除兼容性外)
  5. ImportError: No module named urllib2
  6. Community宣言
  7. Spring整合JavaMail
  8. iSlide(PPT增强插件)官方正式版V5.6.1 | islide插件下载ppt插件在哪里下载?
  9. 微信公众号文章采集浅谈--搜狗APP近一天文章
  10. Landsat 数据其中 Collection 1/2 、Level 1/2、Tier 1/2的区别
  11. oracle rac 12514,ORA-12514: 错误解决一例
  12. ffmpeg+mencoder环境搭建和视频处理总结(4m/1/99)
  13. 36氪独家|「秦汉胡同」完成1亿元A轮融资,将发力线上内容产品和女性生活学习服务社群...
  14. SVLsimulator与apollo6.0联合仿真
  15. 计算新闻传播学临摹作业_数据抓取与数据清洗(西安交大国家艺术基金数据可视化培训第34天)
  16. matlab批量导入excel表格数据,matlab导入excel表格数据-如何用matlab读取多个excel表格数据,将每个表格数......
  17. Severance:BoD[官方英文版][资源收集分享]
  18. 读华为副总裁徐家骏总结的个人心得
  19. oracle数据库创建物化视图
  20. 爱心宠物诊所系统(禹州实训项目)

热门文章

  1. php homebrew源少,修改homebrew源解决下载速度慢的问题
  2. 《Clair二次开发指南1——Clair编译与使用》
  3. arm-linux-gnueabihf-gcc 安装 OpenBLAS
  4. 软件定义 以及软件过程模型
  5. 在c语言中fun的作用是什么,c语言的fun函数用法
  6. MindManager2020免费中文版使用过问题解答及技巧
  7. 芯片验证中,问题追踪分类及工具
  8. 类加载器-ClassLoader
  9. 在小程序 onfire 的使用方法
  10. android日记 设计说明,基于Android的掌上校园系统的设计与实现毕业论文.doc