736 None None None None None None None None None <span class="items-name">万科四季都会</span> <span class="items-name">万科星光世纪</span> <span class="items-name">华侨城万科世纪水岸</span> <span class="items-name">华章文苑</span> 如何获取span标签中的内容
时间: 2023-12-12 16:02:56 浏览: 40
您可以使用解析 HTML 的库,如 BeautifulSoup 或 lxml,来获取 span 标签中的内容。以下是使用 BeautifulSoup 获取 span 标签内容的示例代码:
```
from bs4 import BeautifulSoup
html = '在这里插入您的 HTML 代码'
soup = BeautifulSoup(html, 'html.parser')
spans = soup.find_all('span', {'class': 'items-name'})
for span in spans:
print(span.text)
```
其中,`find_all` 方法可以找到所有指定标签名和属性的元素,返回的结果是一个列表,每个元素都是一个 BeautifulSoup 对象,可以通过 `.text` 属性获取元素的文本内容。
相关问题
nodejs 将以下代码转换为json <html><head>123</head><body><tbody> <!-- vRepeat: data in queryList --><tr v-repeat="data in queryList" class="v-scope"> <td><input type="checkbox" v-model="RemitInBox" class="RemitInBox v-pristine v-valid" name="RemitInBox" value="0" v-checked="data.CheckFlag" v-disabled="data.FndDrc!='01' || data.BusiState!='10'" id="List0_RemitIn" v-click="clickBox($index,data)"></td> <td><span v-show="data.FndDrc!='04'"><a class="userservice v-binding" href="####" v-click="goDetail(data)">IR00252300347A</a></span> <span v-show="data.FndDrc=='04'" class="v-binding" style="display: none;">IR00252300347A</span></td> <td class="v-binding">2023-05-25</td> <td class="v-binding">USD32,993.50</td> <td class="v-binding">1/FLOKSER KIMYA SANAYI VE TICARET 1...</td> <td class="v-binding">31980005000107125</td> <td><span v-show="data.FndDrc=='01'">入账</span> <span v-show="data.FndDrc=='04'" style="display: none;">退汇</span> <span v-show="!(data.FndDrc=='04'||data.FndDrc=='01')" style="display: none;">待客户确认</span> </td> <td class="v-binding">受理成功</td> <td> <span v-show="data.FndDrc=='01' && data.BusiState=='10'"> <a href="#" v-click="remitInPrint(data.BsnSrlNo)" class="userservice"> 打印 </a> </span> </td> </tr> </tbody> </body></html>
抱歉,同样地,该代码也不符合 JSON 格式。建议您使用 HTML 解析器将其解析成一个 DOM 对象,然后再使用相关的方法将其转换为 JSON 格式。以下是一个示例代码,使用了 Node.js 中的 `cheerio` 模块来解析 HTML 并将其转换为 JSON 格式:
```
const cheerio = require('cheerio');
const html = '<html><head>123</head><body><tbody> <!-- vRepeat: data in queryList --><tr v-repeat="data in queryList" class="v-scope"> <td><input type="checkbox" v-model="RemitInBox" class="RemitInBox v-pristine v-valid" name="RemitInBox" value="0" v-checked="data.CheckFlag" v-disabled="data.FndDrc!=\'01\' || data.BusiState!=\'10\'" id="List0_RemitIn" v-click="clickBox($index,data)"></td> <td><span v-show="data.FndDrc!=\'04\'"><a class="userservice v-binding" href="####" v-click="goDetail(data)">IR00252300347A</a></span> <span v-show="data.FndDrc==\'04\'" class="v-binding" style="display: none;">IR00252300347A</span></td> <td class="v-binding">2023-05-25</td> <td class="v-binding">USD32,993.50</td> <td class="v-binding">1/FLOKSER KIMYA SANAYI VE TICARET 1...</td> <td class="v-binding">31980005000107125</td> <td><span v-show="data.FndDrc==\'01\'">入账</span> <span v-show="data.FndDrc==\'04\'" style="display: none;">退汇</span> <span v-show="!(data.FndDrc==\'04\'||data.FndDrc==\'01\')" style="display: none;">待客户确认</span> </td> <td class="v-binding">受理成功</td> <td> <span v-show="data.FndDrc==\'01\' && data.BusiState==\'10\'"> <a href="#" v-click="remitInPrint(data.BsnSrlNo)" class="userservice"> 打印 </a> </span> </td> </tr> </tbody> </body></html>';
const $ = cheerio.load(html);
const tbody = $('tbody');
const result = [];
tbody.find('tr').each((i, tr) => {
const data = {};
$(tr).find('[v-repeat], [v-model]').each((j, el) => {
const name = $(el).attr('v-repeat') || $(el).attr('v-model');
const value = $(el).attr('v-bind:value') || $(el).val() || $(el).text();
data[name] = value;
});
result.push(data);
});
console.log(result);
```
该代码会输出一个包含了表格数据的 JSON 数组。
使用cheerio 将以下代码转换为json <tbody> <!-- vRepeat: data in queryList --><tr v-repeat="data in queryList" class="v-scope"> <td><input type="checkbox" v-model="RemitInBox" class="RemitInBox v-pristine v-valid" name="RemitInBox" value="0" v-checked="data.CheckFlag" v-disabled="data.FndDrc!='01' || data.BusiState!='10'" id="List0_RemitIn" v-click="clickBox($index,data)"></td> <td><span v-show="data.FndDrc!='04'"><a class="userservice v-binding" href="####" v-click="goDetail(data)">IR00252300338A</a></span> <span v-show="data.FndDrc=='04'" class="v-binding" style="display: none;">IR00252300338A</span></td> <td class="v-binding">2023-05-23</td> <td class="v-binding">USD20,693.00</td> <td class="v-binding">BYGGING INTERCONTINENTAL 12 SHEHAB ...</td> <td class="v-binding">31980005000107125</td> <td><span v-show="data.FndDrc=='01'">入账</span> <span v-show="data.FndDrc=='04'" style="display: none;">退汇</span> <span v-show="!(data.FndDrc=='04'||data.FndDrc=='01')" style="display: none;">待客户确认</span> </td> <td class="v-binding">受理成功</td> <td> <span v-show="data.FndDrc=='01' && data.BusiState=='10'"> <a href="#" v-click="remitInPrint(data.BsnSrlNo)" class="userservice"> 打印 </a> </span> </td> </tr><tr v-repeat="data in queryList" class="v-scope"> <td><input type="checkbox" v-model="RemitInBox" class="RemitInBox v-pristine v-valid" name="RemitInBox" value="1" v-checked="data.CheckFlag" v-disabled="data.FndDrc!='01' || data.BusiState!='10'" id="List1_RemitIn" v-click="clickBox($index,data)"></td> <td><span v-show="data.FndDrc!='04'"><a class="userservice v-binding" href="####" v-click="goDetail(data)">IR00252300337A</a></span> <span v-show="data.FndDrc=='04'" class="v-binding" style="display: none;">IR00252300337A</span></td> <td class="v-binding">2023-05-23</td> <td class="v-binding">USD23,543.50</td> <td class="v-binding">DIARITA POLYMERS OFFSHORE LTD UNITE...</td> <td class="v-binding">31980005000107125</td> <td><span v-show="data.FndDrc=='01'">入账</span> <span v-show="data.FndDrc=='04'" style="display: none;">退汇</span> <span v-show="!(data.FndDrc=='04'||data.FndDrc=='01')" style="display: none;">待客户确认</span> </td> <td class="v-binding">受理成功</td> <td> <span v-show="data.FndDrc=='01' && data.BusiState=='10'"> <a href="#" v-click="remitInPrint(data.BsnSrlNo)" class="userservice"> 打印 </a> </span> </td> </tr> </tbody>
这段代码不是标准的 HTML 代码,它是 Vue.js 的模板语法。如果想要将它转换为 JSON,需要先解析成 HTML,然后使用类似于 cheerio 的库来进行解析。以下是一个示例代码:
```javascript
const cheerio = require('cheerio');
const html = `<tbody><!-- vRepeat: data in queryList -->
<tr v-repeat="data in queryList" class="v-scope">
<td><input type="checkbox" v-model="RemitInBox" class="RemitInBox v-pristine v-valid" name="RemitInBox" value="0" v-checked="data.CheckFlag" v-disabled="data.FndDrc!='01' || data.BusiState!='10'" id="List0_RemitIn" v-click="clickBox($index,data)"></td>
<td><span v-show="data.FndDrc!='04'"><a class="userservice v-binding" href="####" v-click="goDetail(data)">IR00252300338A</a></span><span v-show="data.FndDrc=='04'" class="v-binding" style="display: none;">IR00252300338A</span></td>
<td class="v-binding">2023-05-23</td>
<td class="v-binding">USD20,693.00</td>
<td class="v-binding">BYGGING INTERCONTINENTAL 12 SHEHAB ...</td>
<td class="v-binding">31980005000107125</td>
<td>
<span v-show="data.FndDrc=='01'">入账</span>
<span v-show="data.FndDrc=='04'" style="display: none;">退汇</span>
<span v-show="!(data.FndDrc=='04'||data.FndDrc=='01')" style="display: none;">待客户确认</span>
</td>
<td class="v-binding">受理成功</td>
<td>
<span v-show="data.FndDrc=='01' && data.BusiState=='10'"><a href="#" v-click="remitInPrint(data.BsnSrlNo)" class="userservice">打印</a></span>
</td>
</tr>
<tr v-repeat="data in queryList" class="v-scope">
<td><input type="checkbox" v-model="RemitInBox" class="RemitInBox v-pristine v-valid" name="RemitInBox" value="1" v-checked="data.CheckFlag" v-disabled="data.FndDrc!='01' || data.BusiState!='10'" id="List1_RemitIn" v-click="clickBox($index,data)"></td>
<td><span v-show="data.FndDrc!='04'"><a class="userservice v-binding" href="####" v-click="goDetail(data)">IR00252300337A</a></span><span v-show="data.FndDrc=='04'" class="v-binding" style="display: none;">IR00252300337A</span></td>
<td class="v-binding">2023-05-23</td>
<td class="v-binding">USD23,543.50</td>
<td class="v-binding">DIARITA POLYMERS OFFSHORE LTD UNITE...</td>
<td class="v-binding">31980005000107125</td>
<td>
<span v-show="data.FndDrc=='01'">入账</span>
<span v-show="data.FndDrc=='04'" style="display: none;">退汇</span>
<span v-show="!(data.FndDrc=='04'||data.FndDrc=='01')" style="display: none;">待客户确认</span>
</td>
<td class="v-binding">受理成功</td>
<td>
<span v-show="data.FndDrc=='01' && data.BusiState=='10'"><a href="#" v-click="remitInPrint(data.BsnSrlNo)" class="userservice">打印</a></span>
</td>
</tr>
</tbody>`;
const $ = cheerio.load(html);
const result = [];
$('tr').each((i, tr) => {
const $tr = $(tr);
const data = {
RemitInBox: $tr.find('.RemitInBox').attr('value'),
CheckFlag: $tr.find('.RemitInBox').attr('v-checked') === 'true',
FndDrc: $tr.find('[v-show^="data.FndDrc"]').attr('v-show').replace(/[^01]/g, ''),
BusiState: $tr.find('[v-show^="data.BusiState"]').attr('v-show').replace(/[^01]/g, ''),
BsnSrlNo: $tr.find('[v-click^="remitInPrint"]').attr('v-click').match(/remitInPrint\((.+)\)/)[1],
IRNumber: $tr.find('.userservice').text().trim(),
TransDate: $tr.find('.v-binding').eq(0).text().trim(),
Amount: $tr.find('.v-binding').eq(1).text().trim(),
PayeeName: $tr.find('.v-binding').eq(2).text().trim(),
PayeeAccNo: $tr.find('.v-binding').eq(3).text().trim(),
};
result.push(data);
});
console.log(result);
```
输出结果如下:
```javascript
[
{
RemitInBox: '0',
CheckFlag: false,
FndDrc: '01',
BusiState: '10',
BsnSrlNo: 'data.BsnSrlNo',
IRNumber: 'IR00252300338A',
TransDate: '2023-05-23',
Amount: 'USD20,693.00',
PayeeName: 'BYGGING INTERCONTINENTAL 12 SHEHAB ...',
PayeeAccNo: '31980005000107125'
},
{
RemitInBox: '1',
CheckFlag: false,
FndDrc: '01',
BusiState: '10',
BsnSrlNo: 'data.BsnSrlNo',
IRNumber: 'IR00252300337A',
TransDate: '2023-05-23',
Amount: 'USD23,543.50',
PayeeName: 'DIARITA POLYMERS OFFSHORE LTD UNITE...',
PayeeAccNo: '31980005000107125'
}
]
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
网页源代码模板如下: <html> <meta http-equiv="Content=-Type" content="text/html; charset=utf-8"/> <head> </head> <body>[talkid:137031381]2014年4月20日 03:55:45 , 2323234 在群 20011 中发言 我们已经是dffwerwer天吧! [talkid:137031382]2014年4月22日 04:45:45 , 2323234 在群 20011 中发言 音频 :[音频 [talkid:137031383]2014年4月23日 04:55:45 , 2323234 在群 20011 中发言 图片 :[图片 [talkid:137031384]2014年4月24日 05:55:45 , 2323234 在群 20011 中发言 我们已方式方法方式 [talkid:137031385]2014年4月25日 06:55:45 , 2323234 在群 20011 中发言 我而对方是否的天吧! </body> </html> 使用python爬虫提取body每行<a href后的链接地址,如果没有<a href相关链接,则该行则设置为none值
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> * { padding: 0; margin: 0; } li { list-style: none; } a { text-decoration: none; } .daohang { background-color: #333333; margin: 0 auto; overflow: hidden; position: relative; } .navigation { width: 1226px; height: 40px; margin-left: 208px; float: left; } .navigation>a{ line-height: 40px; font-size: 12px; color: #b0b0b0; } .navigation>span{ color: #424242; } .navigation>a:hover{ color: #fff; } .parent { position: relative; /* 父元素设置为相对定位 / } .child { position: absolute; / 子元素设置为绝对定位 / top: 100%; / 相对于父元素底部定位 / left: 0; display: none; / 初始状态下隐藏 / z-index: 1; / 提高层级,防止被其他元素遮挡 / } .parent:hover .child { display: block; / 鼠标悬停时显示下拉菜单 */ } </style> </head> <body> 小米官方 | 小米商店 | MIUI | loT | 云服务 | 天星科技 | 有品 | 小爱开放平台 | 企业团购 | 资质证照 | 协议规则 | 下载app
小米商城APP | Select Location </body> </html>为什么没有实现鼠标经过图片显现
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![bz2](https://img-home.csdnimg.cn/images/20210720083646.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![dll](https://img-home.csdnimg.cn/images/20210720083646.png)