xpath 获取深圳房源信息并导出csv
# -*- coding: utf-8 -*-
# @Time : 2019/4/28 10:44
# @Author : wujf
# @Email : 1028540310@qq.com
# @File : 采集房屋信息.py
# @Software: PyCharm '''
https://sz.centanet.com/xiaoqu/g1/
https://sz.centanet.com/xiaoqu/g220/
''' import requests
from lxml import etree
import pandas as pd listhouse = ["https://sz.centanet.com/xiaoqu/g{}".format(str(i)) for i in range(1,221)] t = []
d = []
p = []
for url in listhouse:
url_single = url+'/'
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'} # 增加代理
r = requests.get(url_single, timeout=30, headers=header)
ret = r.content.decode() result = etree.HTML(ret)
title = result.xpath('//div[@class="house-item clearfix"]/div[@class="item-info fl"]/h4[@class="house-title"]/a/text()') t.append(title)
#print(title) address = result.xpath('//div[@class="house-item clearfix"]/div[@class="item-info fl"]/p[@class="mid f14 f000"]/text()')
'''处理列表换行符 \r\n 和多余字符及空格'''
list2 = [x.strip() for x in address]
set1 = list(set(list2)) #去重
set1.sort(key=list2.index) #排序 按照之前列表形式
set1.remove('') #去空格
set1.remove('-') #去字符串'-'
d.append(set1)
print(set1) price = result.xpath('//div[@class="item-pricearea fr"]/p[@class="price-nub cRed tc"]/span/text()')
p.append(price)
#print(price)
#break title_sum = sum(t, [])
address_sum = sum(d,[])
price_sum = sum(p,[]) # 创建数据表
house = pd.DataFrame({'name': title_sum, 'address':address_sum, 'price': price_sum})
# 查看数据表的内容
house.head()
house.to_csv('房源信息表详细版.csv',encoding='gbk')
# house.to_sql()
xpath 获取深圳房源信息并导出csv的更多相关文章
- 80 行代码爬取豆瓣 Top250 电影信息并导出到 CSV 及数据库
一.下载页面并处理 二.提取数据 观察该网站 html 结构 可知该页面下所有电影包含在 ol 标签下.每个 li 标签包含单个电影的内容. 使用 XPath 语句获取该 ol 标签 在 ol 标签中 ...
- xpath获取块元素下<br>下的信息
再爬虫取字段的时候遇到一种类似下面的结构: <p> <br> "通用名称:xxxxxx" </p> 用xpath取的方式://p//text() ...
- 【Java/JDBC】利用ResultSetMetaData从数据库的某表中获取字段信息并存到csv文件
代码下载:https://files.cnblogs.com/files/xiandedanteng/FindNotnullColumns20191102-2.rar 这篇还不够完善,请看更完善的续篇 ...
- 使用PHP导入和导出CSV文件
我们先准备mysql数据表,假设项目中有一张记录学生信息的表student,并有id,name,sex,age分别记录学生的姓名.性别.年龄等信息. CREATE TABLE `student` ( ...
- Magcodes.WeiChat——通过CsvFileResult以及DataAnnotations实现导出CSV文件
我们先来看看效果图: 从上图中可以看出,导出的文件中列名与表格名称保持一致,并且忽略了某些字段. 相关代码实现 我们来看相关代码: 页面代码: @using (Html.BeginForm(" ...
- 用NPOI实现导入导出csv、xls、xlsx数据功能
用NPOI实现导入导出csv.xls.xlsx数据功能 直接上代码 首先定义一个接口 如果需要直接操作文件的话,就自己在封装一次 然后定义csv类的具体实现 这个需要引入命名空间LumenWo ...
- 关于导出csv格式文件的身份证号、日期的处理
EXCEL系统的单元格,默认格式是常规或数值格式下,数字超过10位即以科学计数法显示,对15位以后的数字用0填充. 在导入到Excel.导出csv文件时,对于身份证号自动变成科学计数法的地方,就要做一 ...
- Python爬虫项目--爬取自如网房源信息
本次爬取自如网房源信息所用到的知识点: 1. requests get请求 2. lxml解析html 3. Xpath 4. MongoDB存储 正文 1.分析目标站点 1. url: http:/ ...
- 【转】使用PHP导入和导出CSV文件
项目开发中,很多时候要将外部CSV文件导入到数据库中或者将数据导出为CSV文件,那么具体该如何实现呢?本文将使用PHP并结合mysql,实现了CSV格式数据的导入和导出功能.我们先准备mysql数据表 ...
随机推荐
- 认识GIT之入门
前言 GIT是非常优秀的源代码版本管理工具,经过几年的发展,已经变得非常成熟以及流行,不同于其他的源代码管理系统,值得使用.GIT官网下载在线安装包,经常会中途退出,很有可能的原因是被墙了,所以建议使 ...
- LINUX 内核基础
http://blog.csdn.net/acs713/article/details/42836335
- HDU 4542
T_T终于让我过了,坑啊,竟然时限是200ms... 我是预处理出不整除了个数的,因为这个较容易一点.利用算术基本定理,f=p1^a1*p2^a2...... 所以,整除它的个数就是(a1+1)*(a ...
- [Fri 26 Jun 2015 ~ Thu 2 Jul 2015] Deep Learning in arxiv
Natural Neural Networks Google DeepMind又一神作 Projected Natural Gradient Descent algorithm (PRONG) bet ...
- Unix网络编程 高级IO套接字设置超时
我们知道.对于一个套接字的读写(read/write)操作默认是堵塞的.假设当前套接字还不可读/写,那么这个操作会一直堵塞下去,这样对于一个须要高性能的server来说,是不能接受的.所以,我们能够在 ...
- 动态规划---状压dp2
今天模拟,状压dp又没写出来...还是不会啊,所以今天搞一下这个状压dp.这里有一道状压dp的板子题: Corn FieldsCorn Fields 就是一道很简单的状压裸题,但是要每次用一个二进制数 ...
- 通过JS制作一个简易数码时钟
设计思路: 数码时钟即通过图片数字来显示当前时间,需要显示的图片的URL根据时间变化而变化. a.获取当前时间Date()并将当前时间信息转换为一个6位的字符串; b.根据时间字符串每个位置对应的数字 ...
- php 过滤敏感关键词
php 过滤敏感关键词 function badwords($content){ $keywords=M("config")->where("name='badwo ...
- MSSQL:账号无法删除方案
1.查询 EXEC sp_who 'WIN-GBKBCVTG4CN\Administrator' 返回一个表格,其中有列[spid] 2.删除 kill spid
- CAS配置(3)之restful-api接入接口
第一步,cas服务端对api接口支持 在cas-server-webapp下 pom.xml添加如下依赖 <dependency> <groupId>org.jasig.cas ...