Python如何爬取房源数据
发表于:2024-09-27 作者:千家信息网编辑
千家信息网最后更新 2024年09月27日,这篇"Python如何爬取房源数据"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Py
千家信息网最后更新 2024年09月27日Python如何爬取房源数据
这篇"Python如何爬取房源数据"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Python如何爬取房源数据"文章吧。
一、爬虫是什么?
在进行大数据分析或者进行数据挖掘的时候,数据源可以从某些提供数据统计的网站获得,也可以从某些文献或内部资料中获得,但是这些获得数据的方式,有时很难满足我们对数据的需求,而手动从互联网中去寻找这些数据,则耗费的精力过大。此时就可以利用爬虫技术,自动地从互联网中获取我们感兴趣的数据内容,并将这些数据内容爬取回来,作为我们的数据源,从而进行更深层次的数据分析,并获得更多有价值的信息。 在使用爬虫前首先要了解爬虫所需的库(requests)或者( urllib.request ),该库是为了爬取数据任务而创建的。
二、使用步骤
本篇文章所有url皆为不可用url,不可直接运行!(爬取他人的数据是一种违法行为,学习爬虫的时候请注意!)
1.引入库
代码如下(示例):
import osimport urllib.requestimport randomimport timeclass BeikeSpider: def __init__(self, save_path="./beike"): """ 贝壳爬虫构造函数 :param save_path: 网页保存目录 """
2.读入数据
代码如下 :
# 网址模式 self.url_mode = "http://{}.***.com/loupan/pg{}/" # 需爬取的城市 self.cities = ["cd", "sh", "bj"] # 每个城市爬取的页数 self.total_pages = 20 # 让爬虫程序随机休眠5-10秒 self.sleep = (5, 10) # 网页下载保存根目录 self.save_path = save_path # 设置用户代理,是爬虫程序伪装成浏览器 self.headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36"} # 代理IP的信息 self.proxies = [ {"https": "123.163.67.50:8118"}, {"https": "58.56.149.198:53281"}, {"https": "14.115.186.161:8118"} ] # 创建保存目录 if not os.path.exists(self.save_path): os.makedirs(self.save_path) def crawl(self): """ 执行爬取任务 :return: None """
该处使用的url网络请求的数据。
3.随机选择一个ip地址构建代理服务器
for city in self.cities: print("正在爬取的城市:", city) # 每个城市的网页用单独的目录存放 path = os.path.join(self.save_path, city) if not os.path.exists(path): os.makedirs(path) for page in range(1, self.total_pages+1): # 构建完整的url url = self.url_mode.format(city, page) # 构建Request对象, 将url和请求头放入对象中 request = urllib.request.Request(url, headers=self.headers) # 随机选择一个代理IP proxy = random.choice(self.proxies) # 构建代理服务器处理器 proxy_handler = urllib.request.ProxyHandler(proxy) # 构建opener opener = urllib.request.build_opener(proxy_handler) # 使用构建的opener打开网页 response = opener.open(request) html = response.read().decode("utf-8") # 网页保存文件名(包含路径) filename = os.path.join(path, str(page)+".html") # 保存网页 self.save(html, filename) print("第%d页保存成功!" % page) # 随机休眠 sleep_time = random.randint(self.sleep[0], self.sleep[1]) time.sleep(sleep_time)
该处除随机选择ip地址以外还会限制爬取数据的速度,避免暴力爬取。
4.运行代码
def save(self, html, filename): """ 保存下载的网页 :param html: 网页内容 :param filename: 保存的文件名 :return: """ f = open(filename, 'w', encoding="utf-8") f.write(html) f.close() def parse(self): """ 解析网页数据 :return: """ passif __name__ == "__main__": spider = BeikeSpider() spider.crawl()
运行结果就会这样,会保存在你的文件夹中。
以上就是关于"Python如何爬取房源数据"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
数据
网页
内容
爬虫
代理
城市
房源
代码
文件
文章
目录
运行
选择
互联网
价值
任务
信息
地址
对象
数据分析
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
怎么弄清网络技术三级设备
惠普服务器恢复bios出厂设置
网络安全和信息保密工作会议
软件开发计划案例
网络安全结课总结
声优下载软件开发
今日头条的软件开发怎么样
数据库期末上机考试
六安医院软件开发定制
数据库acid
重庆有没有网络安全公司
境外服务器租用多少钱
在指定的数据库中选择新建视图
php定时刷新数据库
服务器性价比排行
网络安全的5要素
灵台im即时通讯软件开发
账本和数据库
科技互联网城市-特效合成
软件开发商属于商业还是工业
工控网络安全比赛
数据库安全性和完整性的实验总结
网络技术对新四大发明
国内比较好的网络安全网站
备份数据库时提示错误
网络安全技术提取颜色
计算机网络技术高清图片
账本和数据库
网络安全态势告知
邯郸市软件开发公司有哪些