网页内容转为 txt
目前有很多个URL,(这些URL都以 .pdf 结尾)请问怎么读取每一个url,并将对应内容转为txt
你可以使用Python中的requests库来读取每个URL的内容,并使用Python中的正则表达式来提取文本内容。下面是一个示例代码:
import requests
import re
def convert_to_txt(url):
response = requests.get(url)
if response.status_code == 200:
content = response.text
text = re.sub('<[^<]+?>', '', content)# 使用正则表达式去除HTML标签
with open('output.txt', 'a', encoding='utf-8') as file:
file.write(text)
print(f'{url} 转换成功')
else:
print(f'{url} 请求失败')
urls = ['http://example.com/page1.pdf', 'http://example.com/page2.pdf']
for url in urls:
convert_to_txt(url)
这段代码首先使用requests库发送HTTP请求获取URL对应的内容。然后,使用正则表达式 <[^<]+?> 去除HTML标签,将提取到的文本内容写入到一个名为 output.txt 的文件中。最后,遍历所有的URL,调用 convert_to_txt 函数进行转换。
请注意,这段代码只能处理纯文本内容,如果URL指向的是PDF文件或其他非文本格式的文件,可能无法正确提取文本内容。 isdkz 发表于 2023-6-23 16:35
你可以使用Python中的requests库来读取每个URL的内容,并使用Python中的正则表达式来提取文本内容。下面是 ...
???
这么快???
秒男啊... 陶远航 发表于 2023-6-23 16:36
???
这么快???
{:10_256:} 要读取每个以 ".pdf" 结尾的 URL,并将其内容转换为文本,你可以使用以下步骤:
导入所需的库:
import requests
from io import BytesIO
import PyPDF2
循环遍历每个 URL,并读取其内容:
pdf_urls = # 包含所有 PDF URL 的列表
for url in pdf_urls:
response = requests.get(url)# 发送 HTTP 请求以获取 PDF 文件
pdf_content = response.content# 获取 PDF 文件的内容
将 PDF 内容转换为文本:
pdf_file = BytesIO(pdf_content)# 创建一个 BytesIO 对象以加载 PDF 文件
pdf_reader = PyPDF2.PdfReader(pdf_file)# 创建 PDF 阅读器对象
text_content = ""
for page in pdf_reader.pages:
text_content += page.extract_text()# 提取每一页的文本内容
# 打印或保存文本内容
print(text_content)
# 进行进一步的处理或保存到文件中
请注意,这段代码使用了 requests 库来发送 HTTP 请求,PyPDF2 库来处理 PDF 文件。确保在运行代码之前安装这些库。另外,替换 pdf_urls 变量为包含你的 PDF URL 的实际列表。
这是一个基本的示例,你可能需要根据你的需求进行适当的修改和扩展,以适应不同的情况和要求。 如果你的 URL 是指向 PDF 文件的,那么你需要使用一些工具来把 PDF 文件转为文本。这个过程一般可以分为两步:第一步是从 URL 下载 PDF 文件,第二步是将下载的 PDF 文件转化为文本文件。
这是一个简单的 Python 脚本来实现这个过程:
import requests
import PyPDF2
from io import BytesIO
# 替换成你的 url 列表
urls = ['http://example.com/file1.pdf', 'http://example.com/file2.pdf', ...]
for i, url in enumerate(urls):
response = requests.get(url)
file = BytesIO(response.content)
pdf = PyPDF2.PdfFileReader(file)
with open(f'document{i}.txt', 'w') as txt_file:
for page in range(pdf.getNumPages()):
text = pdf.getPage(page).extractText()
txt_file.write(text)
注意这个脚本使用了requests和PyPDF2这两个 Python 库,所以你需要先安装这两个库。你可以使用pip install requests PyPDF2命令来安装。
还要注意, PyPDF2的extractText方法可能无法完美地从所有的 PDF 文件中提取文本,这主要取决于 PDF 文件是如何生成的。有些 PDF 文件可能包含的是图片或者扫描件,那么可能需要使用 OCR(Optical Character Recognition)工具来识别其中的文字。
另外,这个脚本假定每个 URL 都可以访问,并且每个 URL 都会返回一个 PDF 文件。如果有些 URL 访问不了,或者返回的不是 PDF 文件,那么这个脚本可能会抛出异常。你可能需要添加一些错误处理的代码来处理这种情况。
页:
[1]