博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
项目实战房租网 mongdb
阅读量:4965 次
发布时间:2019-06-12

本文共 1809 字,大约阅读时间需要 6 分钟。

目标网址:url = 'https://xiang.zu.anjuke.com/fangyuan/p3/#'

最终目的:将所有信息建立数据库并存入。

代码:

import re,requests,pymongoclient = pymongo.MongoClient('localhost',27017)message = client['message']add = message['123456']headers = {    'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'}url = 'https://xiang.zu.anjuke.com/fangyuan/p3/#'def getlinks(url):    wb_data = requests.get(url,headers=headers)    links = re.findall('div class="zu-info".*?href="(.*?)"',wb_data.text,re.S)    for link in links:        link = link.strip('<%= item.url %>')        getinfos(link)def getinfos(url):    try:        wb_data = requests.get(url,headers=headers)        addresses = re.findall('class="house-info-item l-width".*?
(.*?).*?
(.*?).*?
(.*?)',wb_data.text,re.S) names = re.findall('class="broker-name".*?>(.*?)',wb_data.text,re.S) phones = re.findall('div class="broker-mobile".*?class="iconfont".*?(.*?)',wb_data.text,re.S) moneys = re.findall('class="price".*?>.*?
(.*?)',wb_data.text,re.S) areas = re.findall('class="house-info-item".*?span class="info".*?>(.*?)',wb_data.text,re.S) for address,name,phone,money,area in zip(addresses,names,phones,moneys,areas): data = { 'url':url, '地址':address[1]+address[2]+address[0], '联系人':name, '电话':phone, '月租':money, '面积':area } add.insert_one(data) except: passgetlinks(url)

总结:此项目并没有什么难度,主要是re的构造以精准抓取以及信息的提取。

最终效果图

我们还可以将数据库导出成xls文件更加方便查看 如果没有数据库可视化工具的话。

mogonexport -d 库名 -c 表名 --csv -f 导出字段 -o 2.csv文件类型   #在bin文件夹下

 

转载于:https://www.cnblogs.com/mayunji/p/8711743.html

你可能感兴趣的文章
C#备份及还原数据库的实现代码(粗略) // 利用C#还原数据库(SQL SERVER)备份文件到指定路径...
查看>>
sed
查看>>
基本数据类型(int,bool,str)
查看>>
spring如何实现Servlet3.0的ServletContainerInitializer
查看>>
商业爬虫学习笔记day4
查看>>
java验证码
查看>>
pycharm设置
查看>>
C++ STL map
查看>>
hadoop学习笔记——基础知识及安装
查看>>
iOS-----------进阶书籍收藏
查看>>
SignTool Error: No certificates were found that met all the given criteria
查看>>
sql server 查询分析器中表名无效,有红线,其实是这张表的
查看>>
hash 分区的用途是什么?
查看>>
linux/windows下启用和停止VMware后台服务的脚本
查看>>
在eclipse中API的封装和调用
查看>>
POJ 1330 Nearest Common Ancestors(Tree)
查看>>
小程序基础总结
查看>>
IDA Pro 数据库文件
查看>>
创建.htaccess文件
查看>>
20165305 《网络对抗技术》 Kali安装
查看>>