用Python爬虫目录,将目录内容写进文件夹,让文件夹所有内容都添加后缀!,将文件夹写入数据库
时间: 2024-06-09 20:06:08 浏览: 156
基于python的新闻爬虫
以下是实现步骤:
1. 使用 Python 的 requests 库和 BeautifulSoup 库爬取目录页面的内容,获取文件名列表。
2. 使用 os 库创建文件夹,并将文件名列表写入该文件夹。
3. 使用 os 库遍历文件夹内所有文件,添加后缀。
4. 使用 Python 的 sqlite3 库连接数据库,并创建一个表格。
5. 将文件夹的路径和修改后的文件名写入数据库。
代码实现如下:
```python
import os
import requests
from bs4 import BeautifulSoup
import sqlite3
# 爬取目录页面
url = 'http://example.com/dir'
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
# 获取文件名列表
file_list = []
for link in soup.find_all('a'):
filename = link.get('href')
if filename != '../':
file_list.append(filename)
# 创建文件夹并将文件名列表写入该文件夹
dir_name = 'example_dir'
if not os.path.exists(dir_name):
os.mkdir(dir_name)
os.chdir(dir_name)
with open('file_list.txt', 'w') as f:
for filename in file_list:
f.write(filename + '\n')
# 遍历文件夹内所有文件,添加后缀
for filename in os.listdir('.'):
os.rename(filename, filename + '.txt')
# 连接数据库并创建表格
conn = sqlite3.connect('example.db')
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS files
(id INTEGER PRIMARY KEY AUTOINCREMENT,
path TEXT,
name TEXT)''')
# 将文件夹的路径和修改后的文件名写入数据库
for filename in os.listdir('.'):
path = os.path.realpath(filename)
name = filename
c.execute("INSERT INTO files (path, name) VALUES (?, ?)", (path, name))
conn.commit()
conn.close()
```
注意,上述代码中只是示例,具体的文件名列表格式、后缀名、数据库表格结构等需要根据实际情况进行修改。
阅读全文