Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何让网页在用BeautifulSoup进行抓取之前加载?_Javascript_Python_Html_Web Scraping_Bs4 - Fatal编程技术网

Javascript 如何让网页在用BeautifulSoup进行抓取之前加载?

Javascript 如何让网页在用BeautifulSoup进行抓取之前加载?,javascript,python,html,web-scraping,bs4,Javascript,Python,Html,Web Scraping,Bs4,我正在尝试制作一个小型的雪天计算器python程序,我想我可以使用BeautifulSoup来完成这项工作。我能够成功地抓取页面,但是我注意到结果总是0%。然后我注意到这是因为网站在加载后大约需要一两秒钟才能显示百分比,这是因为网站的反应式javascript 我怎样才能加载网页,等待两三秒,然后根据雪天百分比刮取网页 代码: 您需要Selenium python绑定,这可能也会有所帮助。可能是我的复制品,我能够让它与硒一起工作,非常感谢!您需要Selenium python绑定,这可能也会有所

我正在尝试制作一个小型的雪天计算器python程序,我想我可以使用BeautifulSoup来完成这项工作。我能够成功地抓取页面,但是我注意到结果总是0%。然后我注意到这是因为网站在加载后大约需要一两秒钟才能显示百分比,这是因为网站的反应式javascript

我怎样才能加载网页,等待两三秒,然后根据雪天百分比刮取网页

代码:


您需要Selenium python绑定,这可能也会有所帮助。可能是我的复制品,我能够让它与硒一起工作,非常感谢!您需要Selenium python绑定,这可能也会有所帮助。可能是我的复制品,我能够让它与硒一起工作,非常感谢!
import urllib
import bs4

def getPercent(zip):
    url = "https://snowdaypredictor.com/result.html?q="+zip
    print url
    page = urllib.urlopen(url)
    soup = bs4.BeautifulSoup(page,'html.parser')
    name_box = soup.find('span', attrs = {'id': 'result-percent'})
    print name_box.text.strip(),"%"

getPercent(raw_input("What is your zip code?"))