新手,请高手指点,我要用BeautifulSoup提取html中的class=''Item'',td节点下的文本
放到list中用writerow写到excel中
下面是两条记录,我要结果[7,n/a,n/a,monica,.....]
html='''[<tr class="Item">
</tr>, <tr class="Item">
<td>7</td><td>N/A</td><td>N/A</td><td>Monica</td><td>SV5270G3CL</td><td>M1136715-001$EN62</td><td>F26</td><td>016521050801</td><td>QN.FQC</td><td>P671512020442010</td><td>F27</td><td>W.WIP</td><td>2021/05/14 14:07:22</td><td> </td><td><a href='javascript:ViewUnitGenealogy("FA","USN","P671512020442010");' title="View Unit Genealogy">I</a></td>
</tr>, <tr class="Item">
<td>9</td><td>N/A</td><td>N/A</td><td>Monica</td><td>SV5270G3CL</td><td>M1136715-001$EN62</td><td>F26</td><td>016521050801</td><td>TN.Pre-Runin</td><td>P671512020540010</td><td>F27</td><td>W.WIP</td><td>2021/05/12 18:48:02</td><td> </td><td><a href='javascript:ViewUnitGenealogy("FA","USN","P671512020540010");' title="View Unit Genealogy">I</a></td>
</tr>]'''
from bs4 import BeautifulSoup
import csv
soup=BeautifulSoup(html,'lxml')
建议把网页贴一下,代码也贴一下。
用soup的findall就可以。
https://blog.csdn.net/winterto1990/article/details/47624167/
用soup的select方法获取td节点元素,写入csv即可。代码:
from bs4 import BeautifulSoup
import csv
html = '''[<tr class="Item">
</tr>, <tr class="Item">
<td>7</td><td>N/A</td><td>N/A</td><td>Monica</td><td>SV5270G3CL</td><td>M1136715-001$EN62</td><td>F26</td><td>016521050801</td><td>QN.FQC</td><td>P671512020442010</td><td>F27</td><td>W.WIP</td><td>2021/05/14 14:07:22</td><td> </td><td><a href='javascript:ViewUnitGenealogy("FA","USN","P671512020442010");' title="View Unit Genealogy">I</a></td>
</tr>, <tr class="Item">
<td>9</td><td>N/A</td><td>N/A</td><td>Monica</td><td>SV5270G3CL</td><td>M1136715-001$EN62</td><td>F26</td><td>016521050801</td><td>TN.Pre-Runin</td><td>P671512020540010</td><td>F27</td><td>W.WIP</td><td>2021/05/12 18:48:02</td><td> </td><td><a href='javascript:ViewUnitGenealogy("FA","USN","P671512020540010");' title="View Unit Genealogy">I</a></td>
</tr>]'''
soup = BeautifulSoup(html, 'lxml')
items = soup.select('tr.Item')
data = [[td.text.strip() for td in rows.select('td')]
for rows in items]
with open('test1.csv', 'w',newline="") as f:
writer = csv.writer(f)
writer.writerows(data)
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632