1.数据类型读取数据文件时,通过 Pandas 完成,示例通过import

import pandas as pd pd.read_csv("test.csv")读取csv数据)

2.HDF 两种存储架构:fixed 和 table 默认 fixed 这个读取速度快,而table支持查询操作

当存储读取HDF5时 需要table格式时 后面增加, format='table'

例如:df2.to_hdf('test.h5', key='df2', format='table')

pd.read_hdf('test.h5', key='df2', where=['index < 5'])

3.字符串转json import json obj = json.loads(obj)

4.大概主要参数

path:路径不仅仅可以读取本地文件,还支持远程 URL 链接。

sep:支持按特定字符分割。

header:可以指定某一行为列名,默认是第一行。

names:自定义列名。

skiprows:指定忽略某些行。

na_values:对空值进行指定替换操作。

parse_dates:尝试将数据解析为日期。

nrows:读取指定行数的数据。

chunksize:指定分块读取数据大小。

encoding:指定文件编码。

使用案例

pd.read_csv("test.csv", skiprows=range(1, 5)) # 忽略前 4 行的数据

chunker = pd.read_csv("test.csv", chunksize=2) chunker.get_chunk()迭代返回分块数据内容

5.数据库连接

postgresql 安装 psycopg2模块 mysql 安装pymysql模块 sqllite py标准库 sqlite3

sqlite实例( 如果目录下已存在 SQLite 数据库,执行删除避免重复运行报错if os.path.exists('test.sqlite'): os.remove('test.sqlite')

sql_con = sqlite3.connect('test.sqlite') # 连接数据库

# 向数据库中写入示例数据,表名为 test_table

df.to_sql(name='test_table', con=sql_con, index=None)sql_con.close() # 关闭连接

增删改查demo改变sql即可

pd.read_sql("SELECT A FROM test_table", sql_con) # 查询并输出 A 列数据

芒果MongoDB 数据库

!pip install pymongo dnspython # 安装 PyMongo

MongoClient('localhost', 27017)#连接本地

增删改查语法

inserrt_one()增加一条数据

insert_many()增加多条数据

find_one()查询第一个文档

find()返回一个cursor对象

db.users.update_one()更新一条

db.users.update_many()更新多条

db.users.delete_one()删除条件

数据解析界面解析

http请求:= requests.get()

1.网页表格数据解析 通过read_html() 例如 tables = pd.read_html(url, encoding='utf-8')

2.xpath解析节点解析 通过xpath('节点')(表达式后加上text()返回文本, @sec获取属性)

节点(nodename 此节点下所有子节点,/ 从根节点选取 //从匹配选择的当前节点选择文档中的节点

.选取当前节点 ..选取当前节点父节点

例如tree.xpath('//div[@class="companies"]/div[2]/h2/text()')

3.通过css selector解析 例如

from bs4 import BeautifulSoup

soup = BeautifulSoup(example, features="lxml") # 加载 HTML

for link in soup.select("html body div a[href]"): print(link.get('href'))

4.Scrapy 架构解析

结果封装为 Scrapy 内部的一个 response

Scrapy 内置 CSS Selector

extract

extract_first()

任何标签的任意属性都可以用 attr()

response.css('div#images p::text').extract_first(default='默认值')

response.css('div#images a::attr(href)').extract()

Scrapy 内置 XPath

response.xpath('//*[@id="images"]/a/@href').extract()

需要对文本进行处理 re() 替代 extract

例如不要开始name:和结尾的空格

response.css('div#images a::text').re('Name: (.+) ').

5.Scrapy 爬虫框架基础实践

1.创建项目的方法是使用 scrapy startproject

2.实现 Item例如(

import scrapy

class ShiyanlouCourseItem(scrapy.Item):

"""定义 Item 非常简单,只需要继承 scrapy.Item 类,将每个要爬取的数据声明scrapy.Field()。下面的代码是我们每个课程要爬取的 3 个数据。

"""

name = scrapy.Field() # 课程名称

description = scrapy.Field() # 课程介绍

image = scrapy.Field() # 课程图片)

3.创建爬虫scrapy 的 genspider 命令可以快速初始化一个爬虫模版例如 name 这个爬虫的名称,domain 指定要爬取的网站。scrapy genspider 网址

allowed_domains属性是一个列表或者字符串

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: python