簡體   English   中英

如何從字符串中刪除href標簽?

[英]How to remove a href tags from a string?

我有一些以前從網站上抓取的用戶評論,我正在嘗試清理文本以進行一些文本分析。 我想刪除文本中有幾個 a href 標記。 例如,查看段落中包含的部分文本:

'We had a <a href="/redir?url=http%3A%2F%2Frestaurants.com&amp;amp;s=8b83bf0ff8b716aae84527dc95577a310f201b166dcca25c8ca3824b15703869" target="_blank" rel="nofollow"&gt;restaurants.com</a&gt; $25 gift certificate, so we visited this restaurant.'

我想從字符串中刪除這部分:

<a href="/redir?url=http%3A%2F%2Frestaurants.com&amp;amp;s=8b83bf0ff8b716aae84527dc95577a310f201b166dcca25c8ca3824b15703869" target="_blank" rel="nofollow"&gt;restaurants.com</a&gt;

我不是正則表達式的專家,所以到目前為止我能做的最好的是:

import re
re.sub(r'<a href\S+', '', mytext)

但這僅刪除了我想要擺脫的部分內容,如下所示:

print(mytext)
'We had a  target="_blank" rel="nofollow"&gt;restaurants.com</a&gt; $25 gift certificate, so we visited this restaurant.'

我搜索了很多解決方案,但只能找到javascript和幾篇警告不要使用正則表達式解析 html 的帖子,我想這不適用於我的情況,因為我正在處理字符串。 我想如果我閱讀更多關於使用正則表達式的信息,我可以完成這項工作,但我正在尋找一個快速的解決方案。 非常感謝任何幫助。

當您正在尋找快速解決方案時。 僅 go 用於基本和使用字符串操作。

input_string = 'We had a <a href="/redir?url=http%3A%2F%2Frestaurants.com&amp;amp;s=8b83bf0ff8b716aae84527dc95577a310f201b166dcca25c8ca3824b15703869" target="_blank" rel="nofollow"&gt;restaurants.com</a&gt; $25 gift certificate, so we visited this restaurant.'
input_string = input_string.split('<a href')
first_part = input_string[0]
input_string = input_string[-1].split('</a&gt;')
sencond_part = input_string[-1]
new_string = first_part + sencond_part
print(new_string)  # We had a  $25 gift certificate, so we visited this restaurant.
import re
''.join(re.findall('(<a href)(.+?)(/a&gt;)', st)[0])

這適用於您的示例,如果您有多個可以使用的 href 鏈接:

[''.join(entry) for entry in re.findall('(<a href)(.+?)(/a&gt;)', st)]

我該如何刪除<div id="text_translate"><p>所以,現在,我想做的是嘗試從 rottentomatoes.com 中抓取一張表,但每次運行代碼時,我都會遇到一個問題,它只打印 <a href 標簽。 現在,我只想要編號的電影片名。</p><p> 到目前為止,這是我的代碼:</p><pre> from requests import get from bs4 import BeautifulSoup import pandas as pd import numpy as np url = "https://www.rottentomatoes.com/top/bestofrt/" headers = {"Accept-Language": "en-US, en;q=0.5"} titles = [] year_released = [] def get_requests(): try: result = requests.get(url=url) soup = BeautifulSoup(result.text, 'html.parser') table = soup.find('table', class_='table') for name in table: td = soup.find_all('a', class_='unstyled articleLink') titles.append(td) print(titles) break except: print("The result could not get fetched")</pre><p> 這是我的 output:</p><p> [[本周上映,票房最高,即將上映,周末收入,經過認證的新鮮電影,DVD 和流媒體,VUDU,Netflix 流媒體,iTunes,亞馬遜和亞馬遜 Prime,頂級 DVD 和流媒體,新發行,即將上映DVD, 認證新鮮電影, 瀏覽全部, 熱門電影, 預告片, 論壇, 查看全部, 查看全部, 熱門電視節目, 認證新鮮電視, 24 幀, 歷史榜單, 狂歡指南, 電視漫畫, 倒計時, 評論家共識,五部最喜歡的電影,正在播放,家長指導,紅地毯綜述,記分卡,亞邪教,全面回憶,視頻采訪,周末票房,每周番茄醬,看什么,零點,查看全部,查看全部,查看全部,它發生一夜 (1934)、公民凱恩 (1941)、綠野仙蹤 (1939)、摩登時代 (1936)、黑豹 (2018)、寄生蟲 (Gisaengchung) (2019)、復仇者聯盟:終局之戰 (2019)、卡薩布蘭卡 ( 1942)、荒野行動 (2019)、我們 (2019)、玩具總動員 4 (2019)、伯德夫人 (2017)、碟中諜 - 輻射 (2018)、黑色黨徒 (2018)、逃出絕命鎮 (2017) )、愛爾蘭人 (2019)、教父 (1972)、瘋狂的麥克斯:狂暴之路 (2015)、蜘蛛俠:平行宇宙 (2018)、月光男孩 (2016)、日落大道 (1950)、夏娃的一切(1950)、The Cab.net of Dr. Caligari (Das Cab.net des Dr. Caligari) (1920)、費城故事 (1940)、羅馬 (2018)、神奇女俠 (2017)、明星誕生 (2018) ), 頭腦特工隊 (2015), 安靜的地方 (2018), 邁阿密之夜 (2020), 八年級 (2018), 麗貝卡 (1940), Booksmart (2019), 洛根 (2017), 他的女孩星期五 (1940) , 燃燒女子的肖像 (Portrait de la jeune fille en feu) (2020), Coco (2017), 敦刻爾克 (2017), 星球大戰:最后的絕地武士 (2017), 歌劇院之夜 (1935), The水形物語 (2017)、雷神 3:諸神黃昏 (2017)、聚光燈 (2015)、告別 (2019)、塞爾瑪 (2014)、第三人 (1949)、后方 Window (1954)、ET 外星人 (1982) )、七人武士 (Shichinin no Samurai) (1956)、大幻覺 (Grand Illusion) (1938)、降臨 (2016)、雨中曲 (1952)、寵兒 (2018)、D 雙倍賠償 (1944)、西線無戰事 (1930)、白雪公主和七個小矮人 (1937)、婚姻故事 (2019)、大病 (2017)、海濱 (1954)、星球大戰前傳VII - 原力覺醒 (2015)、一個美國人在巴黎 (1951)、我們生命中最美好的歲月 (1946)、大都會 (1927)、少年時代 (2014)、地心引力 (2013)、不留痕跡 (2018)、馬耳他獵鷹 (1941)、隱形人 (2020)、為奴十二年 (2013)、好萊塢往事 (2019)、阿爾戈 (2012)、靈魂 (2020)、馬雷尼的黑底 (2020)、小子 (1921)、海邊的曼徹斯特 (2016)、恐怖交響曲 (Nosferatu, eine Symphonie des Grauens) (Nosferatu the Vampire) (1922)、羅賓漢歷險記 (1938)、愛樂之城 (2016) )、西北偏北 (1959)、勞拉 (1944)、蜘蛛俠:英雄遠征 (2019)、超人總動員 2 (2018)、瘋狂動物城 (2016)、異形 (1979)、金剛 (1933)、影子懷疑 (1943)、請以你的名字呼喚我 (2018)、驚魂記 (1960)、1917 (2020)、洛杉磯機密 (1997)、佛羅里達計划 (2017)、人猿 Pl.net 之戰 (2017)、帕丁頓熊 2 (2018)、艱難的一天之夜 (1964)、寡婦 (2018)、從不罕見、有時總是 (2020)、小司機 (2017) ), 蜘蛛俠:英雄歸來 (2017), 教父第二部 (1974), 阿爾及爾之戰 (La Battaglia di Algeri) (1967), 查看全部, 查看全部]]</p></div>

[英]How do I remove the <a href... tags from my web scrapper

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 如何從文本中刪除所有的 href 標簽 我該如何刪除<div id="text_translate"><p>所以,現在,我想做的是嘗試從 rottentomatoes.com 中抓取一張表,但每次運行代碼時,我都會遇到一個問題,它只打印 <a href 標簽。 現在,我只想要編號的電影片名。</p><p> 到目前為止,這是我的代碼:</p><pre> from requests import get from bs4 import BeautifulSoup import pandas as pd import numpy as np url = "https://www.rottentomatoes.com/top/bestofrt/" headers = {"Accept-Language": "en-US, en;q=0.5"} titles = [] year_released = [] def get_requests(): try: result = requests.get(url=url) soup = BeautifulSoup(result.text, 'html.parser') table = soup.find('table', class_='table') for name in table: td = soup.find_all('a', class_='unstyled articleLink') titles.append(td) print(titles) break except: print("The result could not get fetched")</pre><p> 這是我的 output:</p><p> [[本周上映,票房最高,即將上映,周末收入,經過認證的新鮮電影,DVD 和流媒體,VUDU,Netflix 流媒體,iTunes,亞馬遜和亞馬遜 Prime,頂級 DVD 和流媒體,新發行,即將上映DVD, 認證新鮮電影, 瀏覽全部, 熱門電影, 預告片, 論壇, 查看全部, 查看全部, 熱門電視節目, 認證新鮮電視, 24 幀, 歷史榜單, 狂歡指南, 電視漫畫, 倒計時, 評論家共識,五部最喜歡的電影,正在播放,家長指導,紅地毯綜述,記分卡,亞邪教,全面回憶,視頻采訪,周末票房,每周番茄醬,看什么,零點,查看全部,查看全部,查看全部,它發生一夜 (1934)、公民凱恩 (1941)、綠野仙蹤 (1939)、摩登時代 (1936)、黑豹 (2018)、寄生蟲 (Gisaengchung) (2019)、復仇者聯盟:終局之戰 (2019)、卡薩布蘭卡 ( 1942)、荒野行動 (2019)、我們 (2019)、玩具總動員 4 (2019)、伯德夫人 (2017)、碟中諜 - 輻射 (2018)、黑色黨徒 (2018)、逃出絕命鎮 (2017) )、愛爾蘭人 (2019)、教父 (1972)、瘋狂的麥克斯:狂暴之路 (2015)、蜘蛛俠:平行宇宙 (2018)、月光男孩 (2016)、日落大道 (1950)、夏娃的一切(1950)、The Cab.net of Dr. Caligari (Das Cab.net des Dr. Caligari) (1920)、費城故事 (1940)、羅馬 (2018)、神奇女俠 (2017)、明星誕生 (2018) ), 頭腦特工隊 (2015), 安靜的地方 (2018), 邁阿密之夜 (2020), 八年級 (2018), 麗貝卡 (1940), Booksmart (2019), 洛根 (2017), 他的女孩星期五 (1940) , 燃燒女子的肖像 (Portrait de la jeune fille en feu) (2020), Coco (2017), 敦刻爾克 (2017), 星球大戰:最后的絕地武士 (2017), 歌劇院之夜 (1935), The水形物語 (2017)、雷神 3:諸神黃昏 (2017)、聚光燈 (2015)、告別 (2019)、塞爾瑪 (2014)、第三人 (1949)、后方 Window (1954)、ET 外星人 (1982) )、七人武士 (Shichinin no Samurai) (1956)、大幻覺 (Grand Illusion) (1938)、降臨 (2016)、雨中曲 (1952)、寵兒 (2018)、D 雙倍賠償 (1944)、西線無戰事 (1930)、白雪公主和七個小矮人 (1937)、婚姻故事 (2019)、大病 (2017)、海濱 (1954)、星球大戰前傳VII - 原力覺醒 (2015)、一個美國人在巴黎 (1951)、我們生命中最美好的歲月 (1946)、大都會 (1927)、少年時代 (2014)、地心引力 (2013)、不留痕跡 (2018)、馬耳他獵鷹 (1941)、隱形人 (2020)、為奴十二年 (2013)、好萊塢往事 (2019)、阿爾戈 (2012)、靈魂 (2020)、馬雷尼的黑底 (2020)、小子 (1921)、海邊的曼徹斯特 (2016)、恐怖交響曲 (Nosferatu, eine Symphonie des Grauens) (Nosferatu the Vampire) (1922)、羅賓漢歷險記 (1938)、愛樂之城 (2016) )、西北偏北 (1959)、勞拉 (1944)、蜘蛛俠:英雄遠征 (2019)、超人總動員 2 (2018)、瘋狂動物城 (2016)、異形 (1979)、金剛 (1933)、影子懷疑 (1943)、請以你的名字呼喚我 (2018)、驚魂記 (1960)、1917 (2020)、洛杉磯機密 (1997)、佛羅里達計划 (2017)、人猿 Pl.net 之戰 (2017)、帕丁頓熊 2 (2018)、艱難的一天之夜 (1964)、寡婦 (2018)、從不罕見、有時總是 (2020)、小司機 (2017) ), 蜘蛛俠:英雄歸來 (2017), 教父第二部 (1974), 阿爾及爾之戰 (La Battaglia di Algeri) (1967), 查看全部, 查看全部]]</p></div> <a>通過 HREF 屬性從字符串中刪除標簽</a> 如何使用正則表達式從python中刪除字符串中的標簽? (不是HTML) 如何使用Python從html字符串中剝離(不刪除)指定的標簽? 如何從 python 中的字符串中刪除這些標簽的內容? 使用正則表達式僅從字符串中刪除錨標記 Python,從字符串中刪除所有html標簽 美麗的湯:刪除僅包含href的標簽 如何從幾個` <a href=“” title="“”">標簽</a>提取所有的href和標題<a href=“” title="“”">?</a>
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM