python爬取58同城租房信息_分页爬取58同城租房信息.py
import requests,re,openpyxl,os
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.104 Safari/537.36',
}
def crawing(page):
'''爬取指定页数的信息'''
try:
print('正在爬取第'+page+'页信息...')
url = 'http://bj.58.com/dashanzi/chuzu/pn'+page+'/?ClickID=1'
res = requests.get(url,headers=headers)
html = res.content.decode('utf-8')
except Exception as err:
print("爬取失败,原因是:"+str(err))
#定义查找标题、图片、户型、价格的正则表达式
title_pat='
.*?(.*?) '
pic_pat = 'lazy_src="(.*?)"'
room_pat = '
(.*?) (.*?)
'
price_pat = '
print("获取标题信息...")
title_list=re.compile(title_pat,re.S).findall(html)
print("获取图片信息...")
pic_list=re.compile(pic_pat,re.S).findall(html)
print("获取户型信息...")
room_list=re.compile(room_pat,re.S).findall(html)
print("获取价格信息...")
price_list=re.compile(price_pat,re.S).findall(html)
data_list = []
for i in range(len(title_list)):
i_list = title,pic,room,price = title_list[i].strip(),pic_list[i],room_list[i][0] +' - ' + room_list[i][1],price_list[i]+'元/月'
data_list.append(i_list)
print("开始保存图片...")
save_pic(data_list,page)
print("所有图片已保存在当前目录下的58同城租房信息图片文件夹内")
print("开始保存信息表格文件...")
save_file(data_list,page)
print("当前页租房信息已保存在当前目录下的表格文件内")
print("爬取完毕,所有信息及图片已成功保存")
def save_pic(list,page):
'''保存图片'''
target = ['|',':','*','?','/','\\','','"']
#创建文件夹
if not os.path.exists('./58同城租房信息图片 - 第'+page+'页'):
os.makedirs('./58同城租房信息图片 - 第'+page+'页')
#循环取出图片地址保存
for i in range(len(list)):
try:
res = requests.get(list[i][1])
#判断文件名内是否有非法字符,并替换
title = list[i][0]
for j in target:
if j in title:
title = title.replace(j,'')
with open('./58同城租房信息图片 - 第'+page+'页'+"/"+title+".png","wb") as file:
print("正在保存第"+str(i+1)+"张图片...")
file.write(res.content)
except Exception as err:
print("保存失败,原因是:"+str(err))
def save_file(list,page):
'''保存信息表格'''
try:
wb = openpyxl.Workbook()
ws = wb.active
title = ['标题','图片链接','户型','价格']
ws.append(title)
for i in range(len(list)):
print('正在保存第'+str(i+1)+'条信息...')
ws.append(list[i])
wb.save('./58同城房屋出租信息 - 第'+page+'页.xlsx')
except Exception as err:
print("保存失败,原因是:"+str(err))
if __name__ == '__main__':
print("58同城租房信息爬取 - 广州")
while True:
page=input("请输入要爬取的信息页数(1~70),输入q退出:")
if page=='q':
break
else:
crawing(page)
一键复制
编辑
Web IDE
原始数据
按行查看
历史
python爬取58同城租房信息_分页爬取58同城租房信息.py相关推荐
- python爬虫影评_Python爬虫(二十)_动态爬取影评信息
本案例介绍从JavaScript中采集加载的数据.更多内容请参考:Python学习指南 #-*- coding:utf-8 -*- import requests import re import t ...
- python爬取京东手机参数_python爬虫——分页爬取京东商城商品信息(手机为例)...
1.最近刚开始学习python 写了个爬虫练习,感觉主要是得会用F12查询网站结构代码.还涉及到反爬虫,每个网站都不一样,拿到的解析出的json数据格式也不同.得有些Web知识的基础才行. htt ...
- sql 获取数据库字段信息_使用DBATools获取SQL数据库详细信息
sql 获取数据库字段信息 In the series of articles on DBATools, (see TOC at the bottom) we are exploring useful ...
- mysql分页查询出租房屋信息_分页查询信息(使用jdbc连接mysql数据库实现分页查询任务)...
分页查询信息 使用jdbc连接mysql数据库实现分页查询任务 通过mysql数据库提供的分页机制,实现商品信息的分页查询功能,将查询到的信息显示到jsp页面上. 本项目时一个简单的运用eclipse ...
- python爬取微信小程序源代码_爬虫爬取微信小程序
之前打算做个微信小程序的社区,所以写了爬虫去爬取微信小程序,后面发现做微信小程序没有前途,就把原来的项目废弃了做了现在的网站观点,不过代码放着也是放着,还不如公开让大家用,所以我把代码贴出来,有需要的 ...
- python爬取股票大单历史记录_定向爬取股票数据——记录一次爬虫实战
今天是八月2号,自学python爬虫已经一整个月了.不学不理解,真正学了才发现,python不愧是一门博大精深的高级编程语言,我学到现在也才只见识到它冰山一脚,python应用的范围即便相比于c.c+ ...
- python爬取知乎话题广场_用于爬取知乎某个话题下的精华问题中所有回答的爬虫...
思路 我的整个算法的思路还是很简单的,文字版步骤如下: 1.通过话题广场进入某个话题的页面,避免了登陆注册页面的验证,查找到对应要爬取的话题,从 url 中得到话题id 2.该页面的所有资源采用了延迟 ...
- python爬取b站弹幕分析_如何爬取b站弹幕文件
我们知道编写一个爬虫之前最重要的是进行网页结构的分析,确定你要抓取的部分是属于网页结构的哪一部分.以"你绝对没听过的梁朝伟唱歌 一开口就苏了 可惜被梁家辉开腔了"为例子,打开谷歌浏 ...
- python爬取今日头条后台数据_爬虫爬取今日头条数据代码实现
课程链接 讲师的公众号文章:今日头条数据抓取及持久化(完整代码版,含IP和用户代理)mp.weixin.qq.com 课程代码 抓取并持久化user-agent工具utils.py 对于爬虫工具,需 ...
最新文章
- 轻松看懂机器学习十大常用算法
- FastReport.Net 入门
- python如何下载zip文件_使用python-mechaniz下载zip文件
- 如何用TypeScript开发微信小程序
- 2797:最短前缀 Trie
- DTC精彩回顾—黄东旭《TiDB数据驱动的企业智能化转型新方向》丨PPT视频
- ModelArts黑科技揭秘|弹性训练,让训练资源张弛有度
- Python 2 结束支持,Ubuntu 20.04 LTS 继续进行将其移除的工作
- outlook客户端接收邮件报错0x80040600
- tomcat加载出现找不到web
- Date类与DateFormat类
- 图片jpg格式怎么转换
- 比较全的机油教程(android)
- Word里面的大括号怎么打出来?
- C#实现在图片上添加文字和二维码
- 工商银行转账出现java_工行企业网银转账提示信息代码4506是什么意思?
- RCLAMP0524P超低电容TVS二极管阵列,DFN-10L封装
- 《大江大河2》中教科书般的精神自救-如何让反感你的人欣赏你
- c语言中符号是什么作用是什么,c语言中的符号|=是什么意思?
- python所用到的英语单词_用Python自制考研英语单词手册
热门文章
- 英语与计算机工作总结,2017年上学期英语教师个人工作总结与2017年上学期计算机教学工作总结合集.doc...
- 今年11月初阿里巴巴社招面试经历分享,Java工程师方向已拿offer【附学习方法】
- speedoffice使用方法-Word怎么在方框里面打对勾
- 《数字图像处理(第三版)》 第二章 数字图像基础 笔记1(视觉与电磁波谱)
- 数据库面试复习_数据科学面试复习
- identifier “ “ is undefined 错误
- 京东大数据技术白皮书(附下载)
- unity UGUI 九宫格 拉伸
- cbrt函数_cbrt()函数以及C ++中的示例
- These songs can cheer you up when life gets hard