读写方式 | 可否读写 | 文件不存在时 | 写入方式 |
---|---|---|---|
w | 写入 | 创建新文件 | 覆盖源文件内容 |
w+ | 读写 | 创建新文件 | 覆盖 |
r | 读 | 报错 | 只读 |
r+ | 读写 | 报错 | 覆盖 |
a | 写 | 创建 | 附加在原文件内容后面 |
a+ | 读写 | 创建 | 附加 |
txt文件存储:
使用jion连接字符串,
output="\t".jion(['name','title','age','gender']);// 将列表中字符串用 \t 连接起来;
使用open函数打开文件:
with open("文件地址",“打开方式”,encoding=“编码方式”)
CSV文件存储:(可以用excel打开成表格)
文件打开方式同txt文件,要导入csv模块
读取:csv_reader= csv.reader(csv_f);// 返回一个二元列表
for row in csv_reader: // row 也是一个列表
print(row);
print(row[0]);
写入: w=csv.writer(csv_f);
w.writerow(output_list); // output是一个列表
MySQL数据库存储:
安装sql模块 pip install mysqlcilent 若出现 不是内部命令的错误,将python安装目录下的Scripts目录添加到环境变量的配置中
import MySQLdb;// 导入MySQL模块
conn=MySQLdb.connect(host="localhost",user='root',passwd='4565348.',db='scraping',charset='utf8');//连接数据库
cur=conn.cursor();// 创建一个游标
cur.execute("insert into urls(url,content)values('www.msdn.net','this is content')");//执行语句
data = cur.fetchone();获取 select语句返回的值
cur.close();
conn.commit();
conn.close();
NoSQL MongoDB存储JSON格式:
安装pymongo模块:pip install pymongo
from pymongo import MongoClient;
import requests;
import datetime;
from bs4 import BeautifulSoup;
client =MongoClient('localhost',27017);//连接客户端,27017是端口号
db=client.blog_database;//创建数据库
collection=db.blog;//创建集合
link="http://www.santostang.com/";//此网站是一个Python爬虫书籍编写者网站
headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36",};
r=requests.get(link,headers=headers);
soup=BeautifulSoup(r.text,"lxml");
title_list=soup.find_all('h1',class_="post-title");
for each in title_list:
url=each.a["href"];
title=each.a.text.strip();
post={"url":url,"title":title,"date":datetime.datetime.utcnow()};
collection.insert_one(post);