【问题标题】:Is there anyway I can get the position of img tag? In python using beautifulsoup find function无论如何我可以获得img标签的位置吗?在python中使用beautifulsoup查找功能
【发布时间】:2020-11-20 16:49:05
【问题描述】:

我想知道.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>
                                                    

【问题讨论】:

    标签: python web-scraping beautifulsoup scrapy screen-scraping


    【解决方案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]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-15
      • 2011-01-31
      • 2013-01-11
      • 2011-08-29
      • 2013-09-18
      • 1970-01-01
      相关资源
      最近更新 更多