0

我想知道 .png 图像文件位于 td 标签的哪个位置。

例如,在这种情况下(第 5 行)有什么方法可以获取图像标签的位置?在python中使用beautifulsoup找函数还是scrapy?

</tr>
            <tr id="table_1_row_3">
                <td style="">A List</td>
                                                    <td style=""></td>
                                                    <td style="">Itemnumber</td>
                                                    <td style="">price</td>
                                                    <td style=""></td>
                                                    <td style=""><img src='https://www.example.com/.png' /></td>
                                                    <td style=""></td>
                                                    <td style=""></td>
                                                    <td style=""></td>
                                                    <td style=""></td>
                                                    <td style=""></td>
                                                    <td style=""></td>
                                                    <td style=""></td>
                                                    <td style=""></td>
                                                    <td style="">min price<BR>a List<BR></td>
                                                    <td style=""></td>
                                                    <td style=""></td>
                                                    <td style=""></td>
                                                    <td style=""></td>
                                                    <td style=""></td>
                                                    <td style=""></td>
                                                    <td style=""></td>
                                                    <td style=""></td>
                                                    
4

1 回答 1

1

您可以为任务使用内置函数enumerate()

from bs4 import BeautifulSoup


txt = '''
    <tr id="table_1_row_3">
        <td style="">A List</td>
        <td style=""></td>
        <td style="">Itemnumber</td>
        <td style="">price</td>
        <td style=""></td>
        <td style=""><img src='https://www.example.com/.png' /></td>
        <td style=""></td>
        <td style=""></td>
        <td style=""></td>
        <td style=""></td>
        <td style=""></td>
        <td style=""></td>
        <td style=""></td>
        <td style=""></td>
        <td style="">min price<BR>a List<BR></td>
        <td style=""></td>
        <td style=""></td>
        <td style=""></td>
        <td style=""></td>
        <td style=""></td>
        <td style=""></td>
        <td style=""></td>
        <td style=""></td>
    </tr>'''


soup = BeautifulSoup(txt, 'html.parser')

# find all positions of <img> inside <tr>:
idx = [i for i, td in enumerate(soup.select('tr > td')) if td.img]

# print indexes, where there is <img> inside <td>:
print(idx)

印刷:

[5]
于 2020-07-30T22:09:33.243 回答