欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

找房的人都遇到过中介吧?通过Python来区分安居客和私人房源!

程序员文章站 2022-03-01 15:38:08
2.3,下载网页内容提取器程序 网页内容提取器程序是GooSeeker为开源Python即时网络爬虫项目发布的一个类,使用这个类,可以大大减少信息采集规则的调试时间,具体参看《Python即时网络爬虫项目: 内容提取器的定义》 下载地址: https://github.com/FullerHua/g ......
找房的人都遇到过中介吧?通过Python来区分安居客和私人房源!

 

找房的人都遇到过中介吧?通过Python来区分安居客和私人房源!

 

找房的人都遇到过中介吧?通过Python来区分安居客和私人房源!

 

2.3,下载网页内容提取器程序

网页内容提取器程序是GooSeeker为开源Python即时网络爬虫项目发布的一个类,使用这个类,可以大大减少信息采集规则的调试时间,具体参看《Python即时网络爬虫项目: 内容提取器的定义》

  • 下载地址: https://github.com/FullerHua/gooseeker/core/gooseeker.py把gooseeker.py保存在项目目录下

3,网络爬虫的源代码

# _*_coding:utf8_*_
# anjuke.py
# 爬取安居客房产经纪人
from urllib import request
from lxml import etree
from gooseeker import GsExtractor
class Spider:
 def getContent(self, url):
 conn = request.urlopen(url)
 output = etree.HTML(conn.read())
 return output
 def 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("爬取结束")
找房的人都遇到过中介吧?通过Python来区分安居客和私人房源!

 

找房的人都遇到过中介吧?通过Python来区分安居客和私人房源!

 

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

6,集搜客GooSeeker开源代码下载源

1. GooSeeker开源Python网络爬虫GitHub源

进群:125240963   即可获取十套PDF书籍资料!