【问题标题】:Web scraping number网页刮号
【发布时间】:2021-07-08 11:52:18
【问题描述】:
import bs4, requests

url = requests.get(f'https://www.marketwatch.com/investing/stock/aapl?mod=over_search')
soup = bs4.BeautifulSoup(url.text,'lxml')

print(soup.find("div",{"class": "intraday__data"}).find("h3",{"class": "intraday__price"}).find("bg-quote"))

输出:

<bg-quote> channel="/zigman2/quotes/202934861/composite,/zigman2/quotes/202934861/lastsale" class="value" field="Last" format="0,0.00" session="pre">141.97</bg-quote>

当我在最后一行的最后输入.text 时,它给了我一个错误,这是错误。我想提取价格,有什么想法吗?

AttributeError Traceback (most recent call last) 

soup = bs4.BeautifulSoup(url.text,'lxml')
print(soup.find("div",{"class": "intraday__data"}).find("h3",{"class": "intraday__price"}).find("bg-quote")).text
 
AttributeError: 'NoneType' object has no attribute 'text'

【问题讨论】:

    标签: python-3.x web-scraping text beautifulsoup request


    【解决方案1】:

    您在print() 之后输入.textprint 总是返回None。改为这样做:

    print(
        soup.find("div", {"class": "intraday__data"})
        .find("h3", {"class": "intraday__price"})
        .find("bg-quote")
        .text
    ) # <-- NOT .text here!
    

    打印:

    141.77
    

    【讨论】:

      【解决方案2】:
      import requests
      from bs4 import BeautifulSoup
      
      
      def main(url):
          r = requests.get(url)
          soup = BeautifulSoup(r.text, 'lxml')
          print(soup.select('.value')[6].text)
      
      
      main('https://www.marketwatch.com/investing/stock/aapl?mod=over_search')
      

      输出:

      141.76
      

      【讨论】:

        【解决方案3】:
        import requests
        from bs4 import BeautifulSoup
        
        URL = "https://www.marketwatch.com/investing/stock/aapl?mod=over_search"
        page = requests.get(URL)
        
        soup = bs4.BeautifulSoup(page.text)
        
        print(soup.select('.value')[6].text)
        

        【讨论】:

        • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
        猜你喜欢
        • 2018-03-20
        • 2018-08-12
        • 2018-04-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多