2830680393 发表于 2023-6-23 16:35:27

网页内容转为 txt

目前有很多个URL,(这些URL都以   .pdf   结尾)
请问怎么读取每一个url,并将对应内容转为txt

isdkz 发表于 2023-6-23 16:35:48

你可以使用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文件或其他非文本格式的文件,可能无法正确提取文本内容。

陶远航 发表于 2023-6-23 16:36:21

isdkz 发表于 2023-6-23 16:35
你可以使用Python中的requests库来读取每个URL的内容,并使用Python中的正则表达式来提取文本内容。下面是 ...

???

这么快???

秒男啊...

isdkz 发表于 2023-6-23 16:36:44

陶远航 发表于 2023-6-23 16:36
???

这么快???


{:10_256:}

陶远航 发表于 2023-6-23 16:38:36

要读取每个以 ".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 的实际列表。

这是一个基本的示例,你可能需要根据你的需求进行适当的修改和扩展,以适应不同的情况和要求。

isdkz 发表于 2023-6-23 16:41:08

如果你的 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]
查看完整版本: 网页内容转为 txt