在Python中搜索网站上的数字范围

时间:2017-05-16 04:27:29

标签: python-3.x if-statement numbers range

以下是搜索网站上的字词的脚本。在这种情况下,它" S& P"在https://finance.yahoo.com/quote/%5EGSPC?p= ^ GSPC。

我的问题是如何搜索2300到2400之间的数字范围......或者数字低于/大于2400.基本上,我制作了一个脚本,告诉我价格何时到达某点。

感谢您的帮助!

import webbrowser
import urllib.request

page = urllib.request.urlopen("https://finance.yahoo.com/quote/%5EGSPC?p=^GSPC")
content = page.read().decode('utf-8')
if "S&P" in content :
    webbrowser.open("https://finance.yahoo.com/quote/%5EGSPC?p=^GSPC")

2017-5-16更新 下面的人帮助了我。谢谢并感谢所有回复。我在周围做了很多事,并在下面做了。

import urllib.request
import webbrowser
from bs4 import BeautifulSoup
page = urllib.request.urlopen("https://finance.yahoo.com/quote/%5EGSPC?p=^GSPC")
content = page.read().decode('utf-8')
soup = BeautifulSoup(content, 'html.parser')
val = soup.find("span", {"data-reactid": "36"}).decode_contents(formatter="html")
if val >= "2,400.00":
    webbrowser.open("https://finance.yahoo.com/quote/%5EGSPC?p=^GSPC")

2 个答案:

答案 0 :(得分:0)

使用BeautifulSoup尝试以下内容:

>>> import urllib2
>>> from bs4 import BeautifulSoup
>>> page = urllib2.urlopen("https://finance.yahoo.com/quote/%5EGSPC?p=^GSPC")
>>> page = urllib2.urlopen("https://finance.yahoo.com/quote/%5EGSPC?p=^GSPC")
>>> content = page.read().decode('utf-8')
>>> soup = BeautifulSoup(content, 'html.parser')
>>> val = soup.find("span", {"data-reactid": "36"}).decode_contents(formatter="html")
>>> val
u'2,402.32'
>>>

然后,转换为float以检查它是否与您的断点匹配:

>>> val = float(val.replace(',',''))
>>> val
2402.32
>>> 

答案 1 :(得分:0)

您可以使用BS4的美丽汤。使用pip进行安装。

                                                  //json result...
    public async Task<ActionResult> Edit(int id, [FromBody]Property prop) 
    {