【问题标题】:How do I remove ['']?如何删除 ['']?
【发布时间】:2023-03-27 06:28:01
【问题描述】:
url = 'https://www.benzinga.com/premarket/'
tables = pd.read_html(url)
df = tables[5]
firstProductSet = df.iloc[: , [0]]
df1 = pd.DataFrame(firstProductSet)
# print(df1)


PATH = "C:\Program Files (x86)\chromedriver.exe"
driver = webdriver.Chrome(PATH)
url = "https://thestockmarketwatch.com/markets/after-hours/trading.aspx"
driver.minimize_window()
driver.get(url)
time.sleep(5)
content = driver.page_source.encode('utf-8').strip()
soup = BeautifulSoup(content,"html.parser")
SecondProductSet = soup.find_all('a', {'class': 'symbol'})
secondProductSet =  SecondProductSet[0:15]
driver.quit()
df2 = pd.DataFrame(secondProductSet)
# print (df2)


df3 = set(df1["Stock"]).intersection(set(df2[0]))
# df4 = pd.DataFrame(df3)
df4 = str(df3)
df5 = df4.replace('"',"")

# df5 = pd.DataFrame(df4.iloc[0].values)
# df6 = df5.replace(r'["]0\n0 ','')
# print(df6)




url = "https://finance.yahoo.com/quote/" + df5

我正在使用 selenium 并在上方插入此值 (FTFT)。如果有额外的 [''],则 URL 不起作用。任何帮助都会对我有很大帮助。这是代码的一小部分,但我希望它能让我的问题更清楚。

【问题讨论】:

  • 我看到你创建了一个字符串。又快又脏,您可以使用df4.replace('"',"") 删除引号
  • 很难理解发生了什么。请考虑发布Minimal Reproducible Example
  • @AntonvanderWel 我也试过了,但它不起作用,我打印了网址:finance.yahoo.com/quote{'FTFT'}。你明白我的意思吗?
  • 对不起,我不清楚
  • 当前的输出是:finance.yahoo.com/quote/{'FTFT'},我的目标是得到这个finance.yahoo.com/quote/FTFT

标签: python selenium beautifulsoup


【解决方案1】:

我的理解:你可以成功运行代码,但问题是url等于https://finance.yahoo.com/quote/{'FTFT'}而不是https://finance.yahoo.com/quote/FTFT

对此的潜在解决方案是忽略所有 df4df5 内容并像这样使用 df3

url = "https://finance.yahoo.com/quote/" + ''.join(df3)
print (url)

这会将 df3 中的所有项目组合成一个字符串,在我们的例子中这很好,因为那里只有一个项目。所以最终结果将是FTFT。当与 URL 的其余部分结合时,答案将是 https://finance.yahoo.com/quote/FTFT

对于更强大的解决方案,我建议循环 df3 中的项目,然后处理每个项目。如果那是你想做的。

【讨论】:

    猜你喜欢
    • 2012-06-15
    • 1970-01-01
    • 2017-03-25
    • 1970-01-01
    • 1970-01-01
    • 2022-08-14
    • 2013-10-02
    • 2021-12-26
    • 2021-09-20
    相关资源
    最近更新 更多