第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 Python 中僅打印特定鏈接

如何在 Python 中僅打印特定鏈接

桃花長相依 2023-05-23 19:14:00
我仍然是 Python 的新手,但我正在嘗試制作我的第一個小程序。我的意圖是僅打印以.m3u8結(jié)尾的鏈接(如果可用)而不是打印整個網(wǎng)頁。我目前使用的代碼:import requestschannel1 = requests.get('https://website.tv/user/111111')print(channel1.content)print('\n')channel2 = requests.get('https://website.tv/user/222222')print(channel2.content)print('\n')input('Press Enter to Exit...')我正在尋找的鏈接總是總共有 47 個字符,并且它總是相同的模型只是更改表示為 X 的流 id:https://website.tv/live/streamidXXXXXXXXX.m3u8誰能幫我?
查看完整描述

5 回答

?
qq_笑_17

TA貢獻(xiàn)1818條經(jīng)驗 獲得超7個贊

您可以使用正則表達(dá)式來解決這個問題。


解釋:


在表達(dá)式部分。*?意味著考慮所有內(nèi)容以及包含在 \b(expr)\b 中的任何內(nèi)容都需要強(qiáng)制存在。


例如:


import re


link="https://website.tv/live/streamidXXXXXXXXX.m3u8"


p=re.findall(r'.*?\b.m3u8\b',link)

print(p)

輸出:


['https://website.tv/live/streamidXXXXXXXXX.m3u8']


查看完整回答
反對 回復(fù) 2023-05-23
?
心有法竹

TA貢獻(xiàn)1866條經(jīng)驗 獲得超5個贊

有幾種方法可以解決這個問題,一種讓我想起其他人已經(jīng)觸及的方法是使用正則表達(dá)式,它從我們的.findallurl_list


另一個選擇也可以是BeautifulSoup,但如果沒有關(guān)于結(jié)構(gòu)的更多信息,html它可能不是這里最好的工具。


使用正則表達(dá)式


from re import findall

from requests import get



def check_link(response):

    result = findall(

        r'.*?\b.m3u8\b',

        str(response.content),

    )

    return result


def main(url):

    response = get(url)

    if response.ok:

        link_found = check_link(response)

        if link_found:

            print('link {} found at {}'.format(

                    link_found,

                    url,

                ),

            )


if __name__ == '__main__':

    url_list = [

        'http://www.test_1.com',

        'http://www.test_2.com',

        'http://www.test_3.com',

    ]

    for url in url_list:

        main(url)


    print("All finished")


查看完整回答
反對 回復(fù) 2023-05-23
?
元芳怎么了

TA貢獻(xiàn)1798條經(jīng)驗 獲得超7個贊

試試這個,我認(rèn)為這會很強(qiáng)大


import re


links=[re.sub('^<[ ]*a[ ]+.*href[ ]*=[ ]*',  '', re.sub('.*>$', '', link) for link in re.findall(r'<[ ]*a[ ]+.*href[ ]*=[]*"http[s]*://.+\.m3u8".*>',channel2.content)]


查看完整回答
反對 回復(fù) 2023-05-23
?
海綿寶寶撒

TA貢獻(xiàn)1809條經(jīng)驗 獲得超8個贊

這將從網(wǎng)頁中提取所有 URL 并僅過濾那些包含所需關(guān)鍵字“.m3u8”的 URL


import requests

import re

def get_desired_url(data):

    urls = []

    for url in re.findall(r'(https?://\S+)', data):

        if ".m3u8" in url:

            urls.append(url)

    return urls


channel1 = requests.get('https://website.tv/user/111111')

urls = get_desired_url(channel1 )


查看完整回答
反對 回復(fù) 2023-05-23
?
慕容708150

TA貢獻(xiàn)1831條經(jīng)驗 獲得超4個贊

如果我正確理解你的問題,我認(rèn)為你想使用 Python 的.split()字符串方法。如果您的目標(biāo)是獲取一個類似的字符串"https://website.tv/live/streamidXXXXXXXXX.m3u8"并直接提取,"streamidXXXXXXXXX.m3u8"那么您可以使用以下代碼來實現(xiàn):


web_address = "https://website.tv/live/streamidXXXXXXXXX.m3u8"

specific_file = web_address.split('/')[-1]

print(specific_file)

像這樣調(diào)用.split('/')字符串將返回一個字符串列表,其中列表中的每個項目都是字符串的不同部分(第一部分是"https:",等等)。其中最后一個(索引 [-1])將是您想要的文件擴(kuò)展名。


查看完整回答
反對 回復(fù) 2023-05-23
  • 5 回答
  • 0 關(guān)注
  • 290 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號