html - 为什么以错误的顺序生成 html 的这个元素?
问题描述
我正在尝试lienconj
用new_label
以下代码替换元素
import requests
session = requests.Session()
from bs4 import BeautifulSoup
headers = {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0'}
r = session.get('https://www.larousse.fr/dictionnaires/francais/aimer/1925', headers = headers)
soup = BeautifulSoup(r.content, 'html.parser')
temp2 = [tag.attrs['href'] for tag in soup.select('.lienconj')]
for i in range(len(temp2)):
new_label_1 = '<label for = "' + str(i) + '">' + '<div class="boxed">Conjugaison</div>' + '</label>'
new_label_2 = '<input id = "' + str(i) + '" type = "checkbox" class = "trigger">'
new_label = new_label_1 + new_label_2
soup.select('.lienconj')[0].replace_with(BeautifulSoup(new_label))
format = open(r'E:\\test.html', 'w+', encoding = 'utf8')
format.write(str(soup.select_one('.wrapper')))
format.close()
很明显new_label_1
,<div class="boxed">Conjugaison</div>
在里面<label for
和</label>
。您能否解释一下为什么生成的 html 没有这个正确的顺序?
以下是结果 html 的摘录test.html
:
<p class="CatgramDefinition">verbe transitif <label for="10"></label></p>
解决方案
推荐阅读
- c# - 如何将包含 --data-urlencode 的 curl 转换为 HttpClient 调用?
- php - PHP如何在特殊字符之前获取字符串?
- git - Git 恢复提交并使用 LFS 文件跟踪:问题
- javascript - 如何从另一个单独的文件的 js 类继承 js 类?
- r - 如何在 R 中启用 SSL 以连接到 Oracle JDBC
- python - 如何将 numpy 数组转换为内存中的 pil 图像?
- reactjs - 如何使用 redux 数组有条件地渲染?
- python - “ValueError:None 不是生成器。” 在 SimPy 生成器函数中
- javascript - 从由初始 http 请求触发的多个请求中获取响应
- amazon-web-services - AWS Systems Manager 命令:手动执行时有效,运行命令无效