BIG+碧家国际社区集中式公寓项目爬取
BIG+碧家国际社区集中式公寓项目爬取
- 背景
- 代码
- 代码解读
- 结果截图
- 免责声明
背景
研究组对于集中式公寓项目的数据需求源源不断,这不又需要BIG+碧家国际社区集中式公寓项目在全国各城市的项目名称,起始租金,剩余房源数以及详细地址,话不多说,代码见。
代码
# -*- coding: utf-8 -*-
"""
project_name:big+
@author: 帅帅de三叔
Created on Tue Sep 17 09:21:15 2019
"""
import requests #导入网页请求模块
from bs4 import BeautifulSoup #导入网页解析模块
import re #导入正则模块import pymysql #导入数据框接口模块
db=pymysql.Connect("localhost","root","123456","big",charset="UTF8MB4") #li按揭数据框
cursor=db.cursor() #获取操作数据框的游标
cursor.execute("drop table if exists big_") #以重新写入的方式写入数据库
c_sql="""create table big_(city varchar(6),project_name varchar(20),start_price float(10),remaining_room_num int(4),address varchar(40))Engine=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=UTF8MB4"""
cursor.execute(c_sql) #创建表big_header={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"} #构造请求头def spider(url,city): #定义爬虫函数response=requests.get(url,headers=header,timeout=30)response.encoding="UTF8MB4" #UTF-8编码soup=BeautifulSoup(response.text,'lxml') project_list=soup.find("div",class_="list").findAll("dl") #找出所有的项目列表#print(project_list[0])for project in project_list: city=cityproject_name=project.find("div",class_="detail-item3 f-ib").find("h2").get_text() #项目名称start_price=project.find("div",class_="detail-item4 f-fr f-tac").find("p").find("b").get_text().replace("¥","") #起始价格pattern=re.compile("\d+") #用以匹配数字remaining_room_num=int(re.search(pattern, project.find("div",class_="detail-item3 f-ib").find("s").get_text()).group(0)) #剩余房间数address=project.find("div",class_="detail-item3 f-ib").find("p").get_text() #地址print(city,project_name,start_price,remaining_room_num,address)insert_factor=("insert into big_(city,project_name,start_price,remaining_room_num,address)""values(%s,%s,%s,%s,%s)") #控制插入格式insert_data=([city,project_name,start_price,remaining_room_num,address]) #待插入数据cursor.execute(insert_factor,insert_data) #执行数据库的插入操作db.commit()if __name__=="__main__":city_list=["bj","tj","sh","hz","xm","wh","cs","gz","sz","zq","dg","zq"] #构造城市简称列表city_name=["北京市","天津市","上海市","杭州市","厦门市","武汉市","长沙市","广州市","深圳市","肇庆市","东莞市","重庆市"] #构造城市中文名用以填补城市字段start_url=["http://www.bgy-bigplus.com/{}/{}-all.html".format(city,city) for city in city_list] #构造起始网址列表for index,url in enumerate(start_url):print("起始网址:",url)spider(url,city_name[index])
代码解读
由于只要爬取项目一些相关信息,不需要进入项目里面的房源爬取,故在设计的时候只需要对各个城市的起始网页进行请求,获取各项目的表面信息,而且各城市的项目数不多,没有翻页的操作,最后把构造的城市列表匹配到项目名称的前面一个字段。原网页设计的时候肇庆市和重庆市未分开,在爬取的时候会默认进入重庆市,会导致肇庆市的项目漏爬,可以人工补上,写入数据库截图如下。
结果截图
免责声明
Python爬虫仅为学习交流,如有冒犯,请告知删。
延申阅读
青客公寓挂牌房源分城市爬取
优客逸家挂牌房源爬取
建方公寓挂牌房源信息爬取
江寓租房挂牌房源信息爬取
通过关键词获取微博内容
家长帮分板块爬取
BIG+碧家国际社区集中式公寓项目爬取相关推荐
- 为perf4j提供集中式监控项目perf4j-dashboard
perf4j Perf4J 是一个开放源码的性能记录,监测和分析库,主要用于企业Java应用程序. perf4j-zh 是修改部分perf4j源码并加入集中式机器集群监控图表,使perf4j能够被更多 ...
- python爬取链家新房_Python爬虫项目--爬取链家热门城市新房
本次实战是利用爬虫爬取链家的新房(声明: 内容仅用于学习交流, 请勿用作商业用途) 环境 win8, python 3.7, pycharm 正文 1. 目标网站分析 通过分析, 找出相关url, 确 ...
- Python 小项目 01 爬虫项目 爬取链家网南京地区二手房信息
SpiderLianjia 介绍 python爬虫小程序,爬取链家网南京地区普通住宅二手房数据. 代码下载: https://gitee.com/lihaogn/SpiderLianjia 1 程序设 ...
- 大数据项目开发hadoop集群搭建 python爬取前程无忧招聘网信息以及进行数据分析和数据可视化
大数据项目开发实训报告 一.Hadoop环境搭建 1: jdk的安装 1):在linux系统下的opt目录下创建software 和 module 两个目录 2):利用filezilla工具将 jdk ...
- python爬取链家新房数据_Python爬虫实战:爬取链家网二手房数据
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 买房装修,是每个人都要经历的重要事情之一.相对于新房交易市场来说,如今的二手房交易市场一点也 ...
- python爬取链家房价消息_Python的scrapy之爬取链家网房价信息并保存到本地
因为有在北京租房的打算,于是上网浏览了一下链家网站的房价,想将他们爬取下来,并保存到本地. 先看链家网的源码..房价信息 都保存在 ul 下的li 里面 爬虫结构: 其中封装了一个数据库处理模 ...
- 链家网开源java_异步协程爬取链家租房信息
异步协程抓取链家数据+pandas写入csv import asyncio import aiohttp import pandas from bs4 import BeautifulSoup fro ...
- go爬虫和python爬虫哪个好_python 爬虫实战项目--爬取京东商品信息(价格、优惠、排名、好评率等)-Go语言中文社区...
利用splash爬取京东商品信息 一.环境 window7 python3.5 pycharm scrapy scrapy-splash MySQL 二.简介 为了体验scrapy-splash 的动 ...
- 【Python爬虫练习】虎扑社区步行街版块首页信息爬取(BeautifulSoup+MongoDB)
严正声明:爬虫仅用于学习研究,不做商业或者其它非法用途! 首先我们要爬取的网页地址为:https://bbs.hupu.com/bxj 页面的样子是这样的: 红色圈出来的部分就是我们所要爬取的内容信息 ...
最新文章
- sqlite只能用于android系统,Android 数据库的使用 -- Sqlite
- 一、ESP32环境搭建(基于vscode插件platformIO)
- python动态表情包下载_Python从eif中导出qq表情的gif图片
- USACO-Section2.1 Ordered Fractions(简单数据处理)
- 排查 CI Unable to load the requested file
- Android开发笔记(八十三)多语言支持
- 数据库选项--自动更新统计
- 1以下数字Oracle打印缺少0,Oracle SQL中缺少關鍵字
- AutoItLibrary
- 软考网络工程师笔记-分值分布
- 测试远程服务器udp端口,udp端口怎么测试 - 全文
- 如何增加(软件测试)自动化测试面试成功率?只需学会主流设计模式PO+关键字驱动!
- 网络工程师工作经验分享
- 检测周转时间 TAT :TURN-AROUND TIME
- Supercell:靠两款手游如何做到30亿美金市值?
- Unity (一) 下载与安装
- 第二章 关系模型和关系运算理论 3类完整性
- 程序员之间的战争,某宁测试和开发干架,鼠标线勒脖子都来了!
- Win2008 R2安装域报错
- js视频背景切换js特效代码