xpath & csv文件读写
原理:拿到网页源代码并且进行分析
关键词:etree .xpath a[@href="dapao"] a/@href text()
import requests,csv
from lxml import etree resp = requests.get(url)
html=etree.HTML(resp.text)
divs=html.xpath('//*[@class="new-service-wrap"]/div')
#定位的是 包含所有数据元素的大框/div(要下面全部的div 每个div都成为一个对象) for div in divs: #相对对查找 ./
price=div.xpath('./div/div/a[1]/div[2]/div[1]/span[1]/text()')[0].strip('¥') #去除多余字符 默认strip()移除所有空白 resp.close()
拿标签文本
<em style="width:80px;">2.00</em>
result2=tree.xpath('/html/body/ul/li[1]//em/text()')
筛选标签属性拿文本
tree.xpath('/html/body/ol/li/a[@href="dapao"]/text()')
拿标签里的属性值
i.xpath('./a/@href')
#相对查找
#结果都是列表
csv文件读写
f=open("csv/pig.csv", mode='w', encoding='utf-8')
csvwriter=csv.writer(f) #创建一个写的对象
i=['1','2','3','4']
csvwriter.writerow(i)
f.close()
xpath & csv文件读写的更多相关文章
- csv文件读写处理
csv文件读写处理 1.读取 第一种: import csv with open("route.csv","r") as f: #reader是一个迭代 ...
- C#中的CSV文件读写
目录 CSV文件标准 文件示例 RFC 4180 简化标准 读写CSV文件 使用CsvHelper 使用自定义方法 基于简化标准的写CSV文件 使用TextFieldParser解析CSV文件 使用正 ...
- [Python]-pandas模块-CSV文件读写
Pandas 即Python Data Analysis Library,是为了解决数据分析而创建的第三方工具,它不仅提供了丰富的数据模型,而且支持多种文件格式处理,包括CSV.HDF5.HTML 等 ...
- 用CSV文件读写数据的两种方式(转)
导读:有时候我们需要对收集的数据做统计,并在页面提供显示以及下载.除了对传统的excel存取之外,对CSV文件的存取也很重要.本文列出了这两种操作的详细代码. 代码: <?php $file = ...
- C# CSV文件读写
public class CSVFileHelper { /// <summary> /// 将DataTable中数据写入到CSV文件中 /// </summary> /// ...
- CSV 文件读写
转自:http://www.cnblogs.com/Clin/archive/2013/03/14/2959022.html public class CSVFileHelper { /// < ...
- Python: 对CSV文件读写 和 Md5加密
1. python 有专门的csv包,直接导入即可. import csv: 2. 直接使用普通文件的open方法 csv_reader=open("e:/python/csv_data/l ...
- python对csv文件读写的两种方式 和 读写文件编码问题处理
''' 如果文件读取数据出错,可以考虑加一个encoding属性,取值可以是:utf-8,gbk,gb18030 或者加一个属性error,取值为ignore,例如 open(path, encodi ...
- springbatch操作CSV文件
一.需求分析 使用Spring Batch对CSV文件进行读写操作: 读取一个含有四个字段的CSV文件(id, name, age, score), 对文件做简单的处理, 然后输出到还有一个csv文件 ...
随机推荐
- 如何在不使用BasePACKAGE过滤器的情况下排除程序包?
过滤程序包的方法不尽相同.但是弹簧启动提供了一个更复杂的选项,可以在不接触组件扫描的情况下实现这一点. 在使用注释@ SpringBootApplication时,可以使用排除属性. 请参阅下面的代码 ...
- Java并发机制(4)--ThreadLocal线程本地变量(转)
个人理解: 说明:看了博客园中大神写的ThreadLocal的详解,感觉还是有些迷糊,下面用自己的理解简单描述下ThreadLocal的机制(难免有误): 1.首先ThreadLocal用于存储对应线 ...
- Redis 的内存用完了会发生什么?
如果达到设置的上限,Redis 的写命令会返回错误信息(但是读命令还可以正 常返回.)或者你可以将 Redis 当缓存来使用配置淘汰机制,当 Redis 达到内存 上限时会冲刷掉旧的内容.
- 简述在 MySQL 数据库中 MyISAM 和 InnoDB 的区别 ?
MyISAM: 不支持事务,但是每次查询都是原子的: 支持表级锁,即每次操作是对整个表加锁: 存储表的总行数: 一个 MYISAM 表有三个文件:索引文件.表结构文件.数据文件: 采用菲聚集索引,索引 ...
- pandas学习总结
什么是pandas pandas数据读取 03. Pandas数据结构 Pandas查询数据的几种方法
- 将word文件转为excel文件
有些word文件里的数据是有顺序或者规律,想转成表格的形式,下面就以我要转的word为例. 我的word文件是这样的 1.word转txt(文本文件) 文件--->另存为--->路径--- ...
- javascript当中嵌套函数
3)嵌套函数例 3.3.1<head> <meta http-equiv="content-type" content="text/html; c ...
- 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte
问题描述:在使用python爬取斗鱼直播的数据时,使用str(读取到的字节,编码格式)进行解码时报错:'utf-8' codec can't decode byte 0x8b in position ...
- InputStream in = JdbcUtil.class.getClassLoader().getResourceAsStream("dbinfo.properties");
1.与普通程序不同的是,Java程序(class文件)并不是本地的可执行程序.当运行Java程序时,首先运行JVM(Java虚拟机),然后再把Java class加载到JVM里头运行,负责加载Java ...
- VSCode使用Settings Sync同步配置和插件
转载参考地址:https://www.cnblogs.com/zzhaolei/p/12028241.html 1.需求 自己平常工作,一般在公司用公司的电脑,在家里就是自己的,但是vscode如果配 ...