原理:拿到网页源代码并且进行分析

关键词: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文件读写的更多相关文章

  1. csv文件读写处理

    csv文件读写处理   1.读取 第一种:   import csv with open("route.csv","r") as f: #reader是一个迭代 ...

  2. C#中的CSV文件读写

    目录 CSV文件标准 文件示例 RFC 4180 简化标准 读写CSV文件 使用CsvHelper 使用自定义方法 基于简化标准的写CSV文件 使用TextFieldParser解析CSV文件 使用正 ...

  3. [Python]-pandas模块-CSV文件读写

    Pandas 即Python Data Analysis Library,是为了解决数据分析而创建的第三方工具,它不仅提供了丰富的数据模型,而且支持多种文件格式处理,包括CSV.HDF5.HTML 等 ...

  4. 用CSV文件读写数据的两种方式(转)

    导读:有时候我们需要对收集的数据做统计,并在页面提供显示以及下载.除了对传统的excel存取之外,对CSV文件的存取也很重要.本文列出了这两种操作的详细代码. 代码: <?php $file = ...

  5. C# CSV文件读写

    public class CSVFileHelper { /// <summary> /// 将DataTable中数据写入到CSV文件中 /// </summary> /// ...

  6. CSV 文件读写

    转自:http://www.cnblogs.com/Clin/archive/2013/03/14/2959022.html public class CSVFileHelper { /// < ...

  7. Python: 对CSV文件读写 和 Md5加密

    1. python 有专门的csv包,直接导入即可. import csv: 2. 直接使用普通文件的open方法 csv_reader=open("e:/python/csv_data/l ...

  8. python对csv文件读写的两种方式 和 读写文件编码问题处理

    ''' 如果文件读取数据出错,可以考虑加一个encoding属性,取值可以是:utf-8,gbk,gb18030 或者加一个属性error,取值为ignore,例如 open(path, encodi ...

  9. springbatch操作CSV文件

    一.需求分析 使用Spring Batch对CSV文件进行读写操作: 读取一个含有四个字段的CSV文件(id, name, age, score), 对文件做简单的处理, 然后输出到还有一个csv文件 ...

随机推荐

  1. 如何在不使用BasePACKAGE过滤器的情况下排除程序包?

    过滤程序包的方法不尽相同.但是弹簧启动提供了一个更复杂的选项,可以在不接触组件扫描的情况下实现这一点. 在使用注释@ SpringBootApplication时,可以使用排除属性. 请参阅下面的代码 ...

  2. Java并发机制(4)--ThreadLocal线程本地变量(转)

    个人理解: 说明:看了博客园中大神写的ThreadLocal的详解,感觉还是有些迷糊,下面用自己的理解简单描述下ThreadLocal的机制(难免有误): 1.首先ThreadLocal用于存储对应线 ...

  3. Redis 的内存用完了会发生什么?

    如果达到设置的上限,Redis 的写命令会返回错误信息(但是读命令还可以正 常返回.)或者你可以将 Redis 当缓存来使用配置淘汰机制,当 Redis 达到内存 上限时会冲刷掉旧的内容.

  4. 简述在 MySQL 数据库中 MyISAM 和 InnoDB 的区别 ?

    MyISAM: 不支持事务,但是每次查询都是原子的: 支持表级锁,即每次操作是对整个表加锁: 存储表的总行数: 一个 MYISAM 表有三个文件:索引文件.表结构文件.数据文件: 采用菲聚集索引,索引 ...

  5. pandas学习总结

    什么是pandas pandas数据读取 03. Pandas数据结构 Pandas查询数据的几种方法

  6. 将word文件转为excel文件

    有些word文件里的数据是有顺序或者规律,想转成表格的形式,下面就以我要转的word为例. 我的word文件是这样的 1.word转txt(文本文件) 文件--->另存为--->路径--- ...

  7. javascript当中嵌套函数

    3)嵌套函数例 3.3.1<head>    <meta http-equiv="content-type" content="text/html; c ...

  8. '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 ...

  9. InputStream in = JdbcUtil.class.getClassLoader().getResourceAsStream("dbinfo.properties");

    1.与普通程序不同的是,Java程序(class文件)并不是本地的可执行程序.当运行Java程序时,首先运行JVM(Java虚拟机),然后再把Java class加载到JVM里头运行,负责加载Java ...

  10. VSCode使用Settings Sync同步配置和插件

    转载参考地址:https://www.cnblogs.com/zzhaolei/p/12028241.html 1.需求 自己平常工作,一般在公司用公司的电脑,在家里就是自己的,但是vscode如果配 ...