gpt4 book ai didi

python - 使用 Python 格式化 HTML 代码

转载 作者:太空宇宙 更新时间:2023-11-04 14:27:08 25 4
gpt4 key购买 nike

我在 CSV 文件的一列中有一个 URL 列表。我想使用 Python 遍历所有 URL,从 URL 下载特定部分的 HTML 代码并将其保存到下一列。

例如:从这个URL我想提取这个 div 并将其写入下一列。

<div class="info-holder" id="product_bullets_section">
<p>
VM−2N ist ein Hochleistungs−Verteilverstärker für Composite− oder SDI−Videosignale und unsymmetrisches Stereo−Audio. Das Eingangssignal wird entkoppelt und isoliert, anschließend wird das Signal an zwei identische Ausgänge verteilt.
<span id="decora_msg_container" class="visible-sm-block visible-md-block visible-xs-block visible-lg-block"></span>
</p>
<ul>
<li>
<span>Hohe Bandbreite — 400 MHz (–3 dB).</span>
</li>
<li>
<span>Desktop–Grösse — Kompakte Bauform, zwei Geräte können mithilfe des optionalen Rackadapters RK–1 in einem 19 Zoll Rack auf 1 HE nebeneinander montiert werden.</span>
</li>
</ul>
</div>

我有这段代码,HTML代码保存在变量html中:

import csv
import urllib.request

with open("urls.csv", "r", newline="", encoding="cp1252") as f_input:
csv_reader = csv.reader(f_input, delimiter=";", quotechar="|")
header = next(csv_reader)
items = [row[0] for row in csv_reader]

with open("results.csv", "w", newline="") as f_output:
csv_writer = csv.writer(f_output, delimiter=";")
for item in items:
html = urllib.request.urlopen(item).read()

目前的 HTML 代码非常丑陋。除了要提取的 div 之外,我如何删除变量 html 中的所有内容?

最佳答案

鉴于您所有的网页都具有相同的结构,您可以使用此代码解析 html。它将查找 ID 为 product_bullets_section 的第一个 div。 html 中的 id 应该 是唯一的,但给定的网站有两个相同的 id,因此我们通过切片获得第一个并将解析的 div 转换回包含您的 html 的字符串。

import csv
import urllib.request

from bs4 import BeautifulSoup

with open("urls.csv", "r", newline="", encoding="cp1252") as f_input:
csv_reader = csv.reader(f_input, delimiter=";", quotechar="|")
header = next(csv_reader)
items = [row[0] for row in csv_reader]

items = ['https://www.kramerav.com/de/Product/VM-2N']
with open("results.csv", "w", newline="") as f_output:
csv_writer = csv.writer(f_output, delimiter=";")
for item in items:
html = urllib.request.urlopen(item).read()
the_div = str(BeautifulSoup(html).select('div#product_bullets_section')[0])

关于python - 使用 Python 格式化 HTML 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47776460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com