Python爬虫 将运行内容写入TXT文件
程序员文章站
2024-01-24 16:15:04
...
写爬虫时常常需要把爬取的数据保存下来做数据分析,这就需要用到python里的文件处理方法
首先需要open()函数打开要写入的文件
open() 将会返回一个 file 对象,基本语法格式如下:
open(filename, mode)
filename:包含了你要访问的文件名称的字符串值。
mode:决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读 ( r )
模式 | 描述 |
---|---|
r | 以只读方式打开文件 |
r+ | 打开一个文件用于读写 |
rb+ | 以二进制格式打开一个文件用于读写 |
w | 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
w+ | 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
wb+ | 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
a | 打开一个文件用于追加。如果该文件已存在,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |
下面是一个简单的实例
# 打开一个文件
f = open(r"C:\Users\thunderobot\Desktop\新建文件夹\12.txt","w")
f.write( "Python 是一个非常好的语言。\n我最喜欢用python了!\n" )
# 关闭打开的文件
f.close()
打开对应的txt文件,可以发现已经把内容写入了
下面就是我爬虫中结合内容写入的代码
import requests
import re #正则表达式
from bs4 import BeautifulSoup
# 伪装google chrome 77版本
f=open(r"C:\Users\thunderobot\Desktop\新建文件夹\title.txt","w")
headers ={'User-Agent':
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36'}
for i in range(1,69): #翻页型爬虫
current_url='http://bbs.zhoushan.cn/forum.php?mod=forumdisplay&fid=143&typeid=108&typeid=108&filter=typeid&page='+str(i)
strhtml = requests.get(current_url, headers= headers)
soup = BeautifulSoup(strhtml.text,'lxml')
unit = soup.findAll("th",{"class":"new"}) #标题和部门地址
for item in unit:
#re.sub(r'\xa0...+\d','',re.sub('\n|New','',item.get_text())) #正则去除多余内容
f.write(re.sub(r'\xa0...+\d','',re.sub('\n|New','',item.get_text())))#print(result)
f.write("\n")
f.close()
可以看到爬下来的内容完整的保存到了txt文件夹中