python爬取链家租房信息_Python爬取链家网上海市租房信息
使用Python进行上海市租房信息爬取,通过requests + Beautifulsoup对网页内容进行抓取和数据提取。
import requests
from bs4 import BeautifulSoup
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.2669.400 QQBrowser/9.6.10990.400',
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Accept-Encoding':'gzip, deflate, sdch',
'Accept-Language':'zh-CN,zh;q=0.8',
'Connection':'keep-alive',
'Referer':'https://www.baidu.com/link?url=znRkKNPxTXXmN7m4lWy28vWXLWyx_hTEW4bLC5Pi8YR_s5wAdQk4FExi8Fz6HxHc&wd=&eqid=f2ad9a7e00007f1200000004594a3116'
}
urls = [] # 定义空列表,用于创建所有的爬虫链接
#基于for循环,构造完整的爬虫链接
for i in ['zufang']:
url = 'http://sh.lianjia.com/%s/' %i
for j in list(range(1,2075)):
urls.append('http://sh.lianjia.com/%s/d%si1s5' %(i,j)) #拼接所有需要爬虫的链接
#创建csv文件,用于后面的保存数据
file = open('D:/jupyter/lianjia.csv','w')
def readpage(url):
try:
res = requests.get(url)
except ConnectionError as e:
return None
return res
def viewsubway(res2):
try:
view = res2.find_all('span',{'class':'fang-subway-ex'})[0].find_all('span')[0].text
except IndexError as e:
return None
return view
for url in urls: #基于for循环,抓取出所有满足条件的标签和属性列表,存放在find_all中
res = readpage(url)
res = res.text.encode(res.encoding).decode('utf-8')
soup = BeautifulSoup(res,'html.parser')
find_all = soup.find_all(name = 'div',attrs = {'class':'info-panel'})
for i in list(range(len(find_all))): #基于for循环,抓取出所需的各个字段信息
title = find_all[i].find('a')['title'] #每套租房的标语
res2 = find_all[i]
name = res2.find_all('div',{'class':'where'})[0].find_all('span')[0].text #租房所在的小区名称
room_type = res2.find_all('div',{'class':'where'})[0].find_all('span')[1].text #租房的户型
size = res2.find_all('div',{'class':'where'})[0].find_all('span')[2].text[:-3]#租房的面积
#采用列表解析式,删除字符串的首位空格
info = [i.strip() for i in res2.find_all('div',{'class':'con'})[0].text.split('\n')]
region = info[1] #租房所在的区
area = info[2] #租房所在的街道地域
louceng = info[4][:2] #租房所在的楼层
chaoxiang = info[7][3:] #租房的朝向
#每套租房的租金
price = res2.find_all('div',{'class':'price'})[0].find_all('span')[0].text
#地铁站及地铁
view = viewsubway(res2)
if view != None:
subway = view[2:5] #租房附近的地铁线
distance = view[-4:-1] #租房到地铁站的距离
else:
subway = '\0'
distance = '\0'
#将上面的各字段信息值写入并保存到csv文件中
file.write(','.join((name.encode('gbk','ignore'),room_type.encode('gbk','ignore'),size.encode('gbk','ignore'),region.encode('gbk','ignore'),area.encode('gbk','ignore'),louceng.encode('gbk','ignore'),chaoxiang.encode('gbk','ignore'),price.encode('gbk','ignore'),subway.encode('gbk','ignore'),distance.encode('gbk','ignore'),title.encode('gbk','ignore'))) + '\n')
关闭文件(否则数据不会写入到csv文件中)
file.close()```
python爬取链家租房信息_Python爬取链家网上海市租房信息相关推荐
- python爬房源信息_Python爬链家网租房信息
爬去链家网的租房信息然后存储到数据库中. #-*- coding:utf-8 -*- import requests import re import random import MySQLdb fr ...
- python爬取数据分析淘宝商品_python爬取并分析淘宝商品信息
python爬取并分析淘宝商品信息 Tip:本文仅供学习与交流,切勿用于非法用途!!! 背景介绍 有个同学问我:"XXX,有没有办法搜集一下淘宝的商品信息啊,我想要做个统计".于是 ...
- python爬取淘宝商品信息_python爬取淘宝商品信息并加入购物车
先说一下最终要达到的效果:谷歌浏览器登陆淘宝后,运行python项目,将任意任意淘宝商品的链接传入,并手动选择商品属性,输出其价格与剩余库存,然后选择购买数,自动加入购物车. 在开始爬取淘宝链接之前, ...
- python爬取商品信息_python爬取商品信息
原博文 2014-11-27 02:09 − 老严要爬某网购网站的商品信息,正好我最近在学python,就一起写了一个简单的爬虫程序. 需求:某网的商品信息,包括商品名,市场价和售价 工具:pytho ...
- python爬取旅游信息_Python 爬取 13 个旅游城市,告诉你五一大家最爱去哪玩?
五一假期已经结束,小伙伴是不是都还没有玩过瘾?但是没办法,还有很多bug等着我们去写,同样还有需要money需要我们去赚.为了生活总的拼搏. 今年五一放了四天假,很多人不再只是选择周边游,因为时间充裕 ...
- python爬取旅游信息_python爬取全国13个城市旅游数据,告诉你那里最受欢迎
抓取数据 通过请求https://piao.qunar.com/ticket/list.htm?keyword=北京,获取北京地区热门景区信息,再通过BeautifulSoup去分析提取出我们需要的信 ...
- python可以爬取的内容有什么_Python爬取视频(其实是一篇福利)过程解析 Python爬虫可以爬取什么...
如何用python爬取视频网站的数据 如何用python爬取js渲染加载的视频文件不是每个人都有资格说喜欢,也不是每个人都能选择伴你一生! 有哪位大神指导下,有些视频网站上的视频文件是通过 js 加载 ...
- python爬取b站弹幕分析_python爬取B站视频弹幕分析并制作词云
目录1.分析网页 2.爬虫+jieba分词+制作词云2.1爬虫 2.2jieba分词 2.3制作词云 3.成品展示 4.完整代码 1.分析网页 视频地址:https://www.bilibili.co ...
- python读取文本中的英文歌_Python 实例分析 - 获取MP3歌曲的Tag信息
下面利用一个python的实例程序,来学习python.这个程序的目的就是分析出所有MP3文件的Tag信息并输出. 其中遇到一个问题,让我深切感受到python中依靠缩进来控制流程的缺点,不多说,看程 ...
最新文章
- git 给每个branch设置权限_自定义git命令阅读开源项目
- 启动weblogic的错误:Could not obtain an exclusive lock to the embedded LDAP data files directory...
- idea启动前端vue项目(各种坑)
- VS2005 there is no source code available for the current location 解决方案
- 面试题12:打印1到最大的n位数
- python_day12_html
- 最强!超越卷积、自注意力机制:强大的神经网络新算子involution
- Java七大设计模式原则(附相关电子图书下载)
- Qt UDP Socket丢包问题(实现百兆级速率无丢包)
- Unity 3D 学习(一)——Roll a ball
- android xml 设置半透明
- 计算机科学与技术_基于Java web的计算机图书借阅管理系统的设计与实现.docx
- CRA对于IE9的兼容性设置
- 数据结构 第2版 第二版 陈越_高中数学选学---人教A版选修2-1第二章第二节椭圆...
- 工业企业产值产量电子台账操作指南(第一版)
- win10和ubuntu16双系统安装
- 客户之前使用的其他财务软件,现在需要把其他软件的财务凭证导入到用友T3软件中使用,如何能快速实现。
- 开源项目管理软件排名_2015年排名前5位的开源项目管理工具
- 广西大学计算机考研录取名单,广西大学2020考研推免生录取名单
- CAN通信标准帧和扩展帧
热门文章
- AutoGluon处理多模态数据方法及案例——Multimodal Data Tables: Tabular, Text, and Image
- N01web网页设计实例作大作业(div+css) ——中国茶文化(6页) 茶文化网页制作作业_中国化(网页设计...
- 贴片电阻有哪几类封装尺寸?
- Cortex-M3技术参考手册 2022年3月1日
- 微博机型Android怎么去掉,如何设置微博来源中显示出的手机型号 怎么去掉微博来源中的android字样...
- mysql抢红包功能_Laravel框架实现抢红包功能示例
- labelimg标注yolo格式Bug
- python协程详解
- 盗取手机验证码诈骗的克星来了:号码认证服务为你保驾护航
- matlab 写netcdf,写入 netCDF 属性