【问题标题】:I want to be able to extract the URLs linking to a particular source from an HTML file我希望能够从 HTML 文件中提取链接到特定源的 URL
【发布时间】:2019-07-24 10:52:52
【问题描述】:

这只是 HTML 文件的 sn-p。 我希望能够提取那些链接开头的 URL:

https://post-phinf.pstatic.net

基本上,托管它的页面不会显示完整版本的图像,因为带宽限制,但它们在文件服务器上可用,因此如果更改图像名称,则可以提取完整分辨率图像。现在我通过使用批量图像下载器并仅修改浏览器本身中的 html 使其在过去工作,但有些图像不会保存完全丢失的部分,使它们无法使用,所以我想使用外部下载器来帮助我和它。

<div class="se_component se_image default">
    <div class="se_sectionArea se_align-justify">
        <div class="se_editArea">
            <div class="se_viewArea">
                <a href="#" onclick="return false;" class="se_mediaArea __se_image_link __se_link" data-linktype="img" data-linkdata="{&quot;imgId&quot; : &quot;SEDOC-1558061327644--611898955_image_9_img&quot;, &quot;src&quot; : &quot;https://post-phinf.pstatic.net/MjAxOTA1MTdfMjAw/MDAxNTU4MDYwNTAzMDUy.R5u9uY2pU6uLGQsjjFnkbPUAnpCdWBJYX269cflBTnAg.WHs50je9mpSiLf3RSIpSI4NwaXUCl9zI75By2rpIM4gg.JPEG/11.JPG&quot;, &quot;linkUse&quot; : &quot;false&quot;, &quot;link&quot; : &quot;&quot;}">
                    <img id="SEDOC-1558061327644--611898955_image_9_img" class="se_mediaImage __se_img_el" a href="https://post-phinf.pstatic.net/MjAxOTA1MTdfMjAw/MDAxNTU4MDYwNTAzMDUy.R5u9uY2pU6uLGQsjjFnkbPUAnpCdWBJYX269cflBTnAg.WHs50je9mpSiLf3RSIpSI4NwaXUCl9zI75By2rpIM4gg.JPEG/11.JPG" data-a href="https://post-phinf.pstatic.net/MjAxOTA1MTdfMjAw/MDAxNTU4MDYwNTAzMDUy.R5u9uY2pU6uLGQsjjFnkbPUAnpCdWBJYX269cflBTnAg.WHs50je9mpSiLf3RSIpSI4NwaXUCl9zI75By2rpIM4gg.JPEG/11.JPG" data-attachment-id="IlIwLZR377zNeHwU5KXqKxLOAZPI" alt="" width="4000" height="6000">

                </a>
            </div>
        </div>
    </div>
</div>


<div class="se_component se_paragraph default">
    <div class="se_sectionArea">
        <div class="se_editArea">
            <div class="se_viewArea se_ff_nanumgothic se_fs_T3 se_align-center">
                <div class="se_editView">
                    <div class="se_textView">
                        <p class="se_textarea">
                            <!-- SE3-TEXT { -->원스!<br>&nbsp; 네이버 포스트 팔로우팔로우♥ 아시죠? ꒰( ˵¯͒ ꇴ¯͒˵ )꒱<br><br><br><!-- } SE3-TEXT -->
                        </p>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>


<div class="se_component se_image default">
    <div class="se_sectionArea se_align-justify">
        <div class="se_editArea">
            <div class="se_viewArea">
                <a href="#" onclick="return false;" class="se_mediaArea __se_image_link __se_link" data-linktype="img" data-linkdata="{&quot;imgId&quot; : &quot;SEDOC-1558061327644--611898955_image_10_img&quot;, &quot;src&quot; : &quot;https://post-phinf.pstatic.net/MjAxOTA1MTdfMjg2/MDAxNTU4MDYwNTIzODk5.jwPi43190B4ODPkQeFv160d5Z8s--FhjWElXIN9ZU-wg.kum1xiT0UKS3B2DydNVnXSRjovpEi6ZjQIZCSrTEjcMg.GIF/15_GIF.gif&quot;, &quot;linkUse&quot; : &quot;false&quot;, &quot;link&quot; : &quot;&quot;}">
                    <img id="SEDOC-1558061327644--611898955_image_10_img" class="se_mediaImage __se_img_el" a href="https://post-phinf.pstatic.net/MjAxOTA1MTdfMjg2/MDAxNTU4MDYwNTIzODk5.jwPi43190B4ODPkQeFv160d5Z8s--FhjWElXIN9ZU-wg.kum1xiT0UKS3B2DydNVnXSRjovpEi6ZjQIZCSrTEjcMg.GIF/15_GIF.gif" data-a href="https://post-phinf.pstatic.net/MjAxOTA1MTdfMjg2/MDAxNTU4MDYwNTIzODk5.jwPi43190B4ODPkQeFv160d5Z8s--FhjWElXIN9ZU-wg.kum1xiT0UKS3B2DydNVnXSRjovpEi6ZjQIZCSrTEjcMg.GIF/15_GIF.gif" data-attachment-id="IbA9avKkxBEwiCbXiNRxFn-QBusg" alt="" width="960" height="545">

                </a>
            </div>
        </div>
    </div>
</div>


<div class="se_component se_paragraph default">
    <div class="se_sectionArea">
        <div class="se_editArea">
            <div class="se_viewArea se_ff_nanumgothic se_fs_T3 se_align-center">
                <div class="se_editView">
                    <div class="se_textView">
                        <p class="se_textarea">
                            <!-- SE3-TEXT { -->튕겨져나가는 머머튕<br>&nbsp; ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ<br><br><br><!-- } SE3-TEXT -->
                        </p>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>


<div class="se_component se_image default">
    <div class="se_sectionArea se_align-justify">
        <div class="se_editArea">
            <div class="se_viewArea">
                <a href="#" onclick="return false;" class="se_mediaArea __se_image_link __se_link" data-linktype="img" data-linkdata="{&quot;imgId&quot; : &quot;SEDOC-1558061327644--611898955_image_11_img&quot;, &quot;src&quot; : &quot;https://post-phinf.pstatic.net/MjAxOTA1MTdfMTEy/MDAxNTU4MDYwNTU0NTc5.Lr9MVr5iVTRcL7b-TtbqLwVE3lz67Glu90DY_ILibUQg.mbVRENB6o8LgrIGgQeXhrGHIxa0Tu-ORzYq7hyEL5AAg.JPEG/18.JPG&quot;, &quot;linkUse&quot; : &quot;false&quot;, &quot;link&quot; : &quot;&quot;}">
                    <img id="SEDOC-1558061327644--611898955_image_11_img" class="se_mediaImage __se_img_el" a href="https://post-phinf.pstatic.net/MjAxOTA1MTdfMTEy/MDAxNTU4MDYwNTU0NTc5.Lr9MVr5iVTRcL7b-TtbqLwVE3lz67Glu90DY_ILibUQg.mbVRENB6o8LgrIGgQeXhrGHIxa0Tu-ORzYq7hyEL5AAg.JPEG/18.JPG" data-a href="https://post-phinf.pstatic.net/MjAxOTA1MTdfMTEy/MDAxNTU4MDYwNTU0NTc5.Lr9MVr5iVTRcL7b-TtbqLwVE3lz67Glu90DY_ILibUQg.mbVRENB6o8LgrIGgQeXhrGHIxa0Tu-ORzYq7hyEL5AAg.JPEG/18.JPG" data-attachment-id="IPH8s0FyH4TRB6ME4byW1NbynBIg" alt="" width="6000" height="4000">

                </a>
            </div>
        </div>
    </div>
</div>


<div class="se_component se_paragraph default">
    <div class="se_sectionArea">
        <div class="se_editArea">
            <div class="se_viewArea se_ff_nanumgothic se_fs_T3 se_align-center">
                <div class="se_editView">
                    <div class="se_textView">
                        <p class="se_textarea">
                            <!-- SE3-TEXT { -->모쓱타드ㅋㅋㅋㅋㅋㅋ<br>&nbsp; 아니 누가 튕겼냐구 우리 댄싱모신ㅋㅋㅋㅋㅋ<br>&nbsp; 쯔위 표정, 이게 몬니리야ㅋㅋㅋㅋㅋㅋㅋㅋㅋ<br><br><br><!-- } SE3-TEXT -->
                        </p>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

【问题讨论】:

    标签: html regex notepad++ extract


    【解决方案1】:

    老实说,Notepad++ 并不是在这里使用的最佳工具,因为它缺乏使用正则表达式模式迭代输入文本的能力。相反,我建议使用 Python 或 PHP 等脚本语言。这是使用 Python 的一种简单方法:

    text = """<div class="se_component se_image default">
                <div class="se_sectionArea se_align-justify">
                    <div class="se_editArea">
                        <div class="se_viewArea">
            <a href="#" onclick="return false;" class="se_mediaArea __se_image_link __se_link" data-linktype="img" data-linkdata="{&quot;imgId&quot; : &quot;SEDOC-1558061327644--611898955_image_9_img&quot;, &quot;src&quot; : &quot;https://post-phinf.pstatic.net/MjAxOTA1MTdfMjAw/MDAxNTU4MDYwNTAzMDUy.R5u9uY2pU6uLGQsjjFnkbPUAnpCdWBJYX269cflBTnAg.WHs50je9mpSiLf3RSIpSI4NwaXUCl9zI75By2rpIM4gg.JPEG/11.JPG&quot;, &quot;linkUse&quot; : &quot;false&quot;, &quot;link&quot; : &quot;&quot;}">
                                <img id="SEDOC-1558061327644--611898955_image_9_img" class="se_mediaImage __se_img_el" a href="https://post-phinf.pstatic.net/MjAxOTA1MTdfMjAw/MDAxNTU4MDYwNTAzMDUy.R5u9uY2pU6uLGQsjjFnkbPUAnpCdWBJYX269cflBTnAg.WHs50je9mpSiLf3RSIpSI4NwaXUCl9zI75By2rpIM4gg.JPEG/11.JPG" data-a href="https://post-phinf.pstatic.net/MjAxOTA1MTdfMjAw/MDAxNTU4MDYwNTAzMDUy.R5u9uY2pU6uLGQsjjFnkbPUAnpCdWBJYX269cflBTnAg.WHs50je9mpSiLf3RSIpSI4NwaXUCl9zI75By2rpIM4gg.JPEG/11.JPG" data-attachment-id="IlIwLZR377zNeHwU5KXqKxLOAZPI" alt="" width="4000" height="6000">
    
            </a>
                        </div>
                    </div>
                </div>
            </div>
            THE REST OF YOUR TEXT HERE..."""
    
    matches = re.findall(r'https://post-phinf\.pstatic\.net[^"&? ]+', text)
    print(matches)
    

    打印出来:

    https://post-phinf.pstatic.net/MjAxOTA1MTdfMjAw/MDAxNTU4MDYwNTAzMDUy.R5u9uY2pU6uLGQsjjFnkbPUAnpCdWBJYX269cflBTnAg.WHs50je9mpSiLf3RSIpSI4NwaXUCl9zI75By2rpIM4gg.JPEG/11.JPG
    

    以及大约十几个其他 URL。

    【讨论】:

    • 是否有它的版本,我们只是传递文件。您的代码也给出了未定义的错误
    • 在脚本顶部添加import re
    猜你喜欢
    • 2021-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-06
    • 1970-01-01
    • 2021-11-27
    • 1970-01-01
    • 2014-09-04
    相关资源
    最近更新 更多