python爬取58同城房子发布的手机号码_爬虫(成都58同城所有房价,Python实现)
Python实现爬虫(爬取58同城所有房价)
程序发布日期2018-9-25(如果以后不能使用了,就需要更改解析方式.)
github博客传送门
csdn博客传送门
爬虫文件(Python实现)-爬取的数据文件(txt文件,空格分隔)-分析的文件(Python实现)-简单的分析结果图(png图4张) 资源链接地址:https://download.csdn.net/download/zhanghao3389/10686953
本章所需知识:
熟悉urllib.request模块(本次使用的是Python3,Python2请使用urllib和request两个模块)
urllib.request.urlopen() # 打开一个http请求
read() # 返回的信息中的.read()方法
熟悉lxml中的etree模块
etree.HTML() # 将html转换成能解析的格式
接下来上代码:
import urllib.request # 打开网页,读取网页内容用
from lxml import etree # 解析网页用
import time # 这里只使用了暂停程序的作用
url = 'https://cd.58.com/ershoufang/pn{}' # 需要解析的网页
# 定义了一个获取网页的方法 (http请求)
def getHtml(url):
response = urllib.request.urlopen(url) # 打开获取的链接
print(response.getcode()) # 返回一个网页打开的状态码
html = response.read() # 将获取的网页写入html
return html # 返回给调用者
# 定义了一个解析网页的方法 (解析器)
def parserHtml(html): # 将一个下载好的html传入解析器
html_text = etree.HTML(html) # 将html转换成xpath可以解析的格式
message_list = html_text.xpath('/html/body/div[5]/div[5]/div[1]/ul/li') # 解析到每个li元素的位置
for message in message_list: # 遍历所有的li元素
region = message.xpath('./div[2]/p[2]/span/a[2]/text()') # 解析地理位置
price = message.xpath('./div[3]/p[1]/b/text()') # 解析房子的价格
company = message.xpath('./div[3]/p[1]/text()') # 解析房子的价格单位
area = message.xpath('./div[2]/p[1]/span[2]/text()') # 解析房子的面积
unit_price = message.xpath('./div[3]/p[2]/text()') # 解析房子的单价
area = area[0].strip() # 将房子的面积后的空格去掉(房子的面积参数后面有个 html的空格 跟我们写入的格式不一样所以必须去掉才能写入到本地)
b = '{0} {1} {2} {3}' # 占位符(将每个数据中间添加一个空格隔开,便于后续导入excel)
a = b.format(region[0], price[0] + company[0], area, unit_price[0]) # 将爬取的数据格式化
print(a) # 打印出格式化后的数据
with open('message.txt', 'a') as f: # 打开一个文件存入格式化后的文件
f.write(str(a)) # 将数据写入文件
f.write('\n') # 写入一个换行符
# 主函数
for i in range(1, 70): # 遍历69次(看了一下网站 大概只有70页 为了不增加程序难度 手动翻69次)
print('第{}页'.format(i)) # 打印正在爬取第几页
url1 = url.format(i) # 将url格式化 传入页数
html = getHtml(url1) # 下载html (将格式化好的url1传入 getHtml 方法中)
parserHtml(html) # 解析html (将下载好的 html 传入 parserHtml 方法中解析)
time.sleep(1) # 暂停一秒 (有时候有检测会封 ip 然后将暂停时间调大一点 手动进入浏览器将验证码输入一遍就可以重新爬取了.
程序运行状态图:
python爬取58同城房子发布的手机号码_爬虫(成都58同城所有房价,Python实现)相关推荐
- python爬取ajax动态内容肯德基门店_爬虫爬取国内肯德基门店信息
预期效果 爬取每个城市(300+城市)所有的肯德基门店信息,保存到excel中,效果如下: 代码实现 import requests import csv import json def getDat ...
- Python爬取南京地铁微博发布客流数据并进行分析
Python爬取南京地铁微博发布客流数据并进行分析 之前在网上看到了分析北京地铁客流数据的开源项目,就想试着分析一下南京地铁的客流数据,可是找了很久没有找到可以获得南京地铁客流数据的接口,就去南京地铁 ...
- Python爬取网易云音乐热歌榜(爬虫)
Python爬取网易云音乐热歌榜歌曲,并下载到本地 找到要下载歌曲排行榜的链接,这里用的是: https://music.163.com/discover/toplist?id=3778678 然后更 ...
- python爬取京东商品数据要先登录_手把手教你用python 爬取京东评论
本次python实战,主要目标是利用 Python爬取京东商品评论数,如上图所示:爬取"Python之父"推荐的小蓝书,这些信息主要包括用户名.书名.评论等信息. 爬取的网址url ...
- python爬取公众号文章发布时间
使用xpath取出来的是空,爬取到本地的html,时间的标签如下,内容也是是空的 <em id="publish_time" class="rich_media_m ...
- python爬取淘宝商品做数据挖掘_Python 3爬虫 数据清洗与可视化实战 Python数据抓取技术 python3网络爬虫教程书籍 运用Python工具获取电商平台页面数据挖掘书籍...
A8 书 名:Python 3爬虫 数据清洗与可视化实战 作 译 者:零一,韩要宾,黄园园 出版时间:2018-03 千 字 数:200 版 次:01-01 页 数:212 开 ...
- python爬虫案例-Python爬取租房数据实例,据说可以入门爬虫的小案例!
一.什么叫爬虫 爬虫,又名"网络爬虫",就是能够自动访问互联网并将网站内容下载下来的程序.它也是搜索引擎的基础,像百度和GOOGLE都是凭借强大的网络爬虫,来检索海量的互联网信息的 ...
- python爬取贴吧所有标题的评论_用BS4爬取贴吧文章的作者信息时,如何兼顾爬取高亮的作者信息?...
百度贴吧上的文章信息中,一般的作者信息代码,如下所示: 别让依靠成 而有部分作者信息是橙色的.如下所示: 冰缘瑞雪... # -*-coding:utf-8-*- """ ...
- python爬取微博热搜并存入表格_python爬虫进阶之爬取微博热搜存入Mysql
在编程中,我们如果想要把数据转入数据库中,首先会选择 MySQL数据库.因为MySQL数据库体积小.速度快.总体拥有成本低.开放源代码,其有着广泛的应用,例如我们使用python爬虫微博热搜,就可以使 ...
最新文章
- 《OpenCV3编程入门》学习笔记7 图像变换(四 )仿射变换
- 吊打Magic Leap,微软HoloLens 2不只为炫技
- 安卓通讯录系统mysql_Android手机通讯录项目开发--联系人数据库contacts2.db介绍
- Tomcat网页加载速度过慢的解决方法
- 使用ansible来调度cron作业
- 拉普拉斯变换公式表_复变函数之拉普拉斯变换小结
- DB2数据库对现有表格字段修改
- popwin.js 弹出小窗口,图片预览;
- [Silverlight]实战WCF RIA gzip压缩
- solr学习笔记-linux下配置solr
- 【每日算法Day 65】你能顺利救出地下城里的公主吗?
- [AngularJS面面观] 15. 依赖注入 --- 初识注入器(Injector)
- 【浮动导航栏的定位】JS监听动态页面元素距离底部距离,并修改定位样式
- 为什么正定矩阵等于转置_正定矩阵的定义性质-正定矩阵的判定方法-正定矩阵转置和本身...
- 庄懂着色器_L13_特效篇
- 程序设计——第七周作业(Floyd:胜负未知场数;dijkstra:猫猫快线最快线路;SPFA:城市收税)
- VS2019编译python解释器源码及学习方法
- Zoho 企业邮箱不可用修复方案
- 转行程序员日记--2020-08-12
- 树莓派(4B)之声音传感器
热门文章
- Reading Note(8) ——GNN for DSE Optimization
- linux下编写照相机应用程序,Linux下的图片编辑软件
- 电源适配器上各符号的意义都清楚吗?
- 苹果邮件怎么添加qq邮箱_分别在win10自带邮件和iOS上添加QQ邮箱
- vue实现一个星级打分效果_Vue实现星级评价效果实例详解
- 洛谷P6566 观星 题解
- oracle复制数据库文件,史上最简单的方法复制或迁移Oracle数据库
- 压感Android Webview,您不能错过的 Safari 10.0 新特性
- 智慧物流大势所趋,机器人、无人机、5G价值凸显
- 基于Vue的有机蔬菜销售网站java maven ssm