获取网页内容(不是来自源代码)
Get web page content (Not from source code)
我想从here.
获取每一天的降雨数据
当我在inspect mode
时,我可以看到数据。但是,我查看源码时,却找不到。
我正在使用 urllib2
和 BeautifulSoup from bs4
这是我的代码:
import urllib2
from bs4 import BeautifulSoup
link = "http://www.hko.gov.hk/cis/dailyExtract_e.htm?y=2015&m=1"
r = urllib2.urlopen(link)
soup = BeautifulSoup(r)
print soup.find_all("td", class_="td1_normal_class")
# I also tried this one
# print.find_all("div", class_="dataTable")
我得到了一个空数组。
我的问题是:如何获取页面内容,而不是从页面源代码获取?
如果您在源代码中找不到div,则表示已生成您要查找的div。它可以使用一些 JS 框架,如 Angular 或只是 JQuery。如果您想浏览呈现的 HTML,您必须使用运行包含的 JS 代码的浏览器。
尝试使用硒
How can I parse a website using Selenium and Beautifulsoup in python?
from bs4 import BeautifulSoup
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('http://www.hko.gov.hk/cis/dailyExtract_e.htm?y=2015&m=1')
html = driver.page_source
soup = BeautifulSoup(html)
print soup.find_all("td", class_="td1_normal_class")
但是请注意,使用 Selenium 会大大减慢该过程,因为它必须启动无头浏览器。
如果您在 chrome/firefox 上打开开发工具并查看请求,您会看到数据是根据对 http://www.hko.gov.hk/cis/dailyExtract/dailyExtract_2015.xml
的请求生成的,该请求提供了所有 12 个月的数据然后你可以从中提取。
我想从here.
获取每一天的降雨数据当我在inspect mode
时,我可以看到数据。但是,我查看源码时,却找不到。
我正在使用 urllib2
和 BeautifulSoup from bs4
这是我的代码:
import urllib2
from bs4 import BeautifulSoup
link = "http://www.hko.gov.hk/cis/dailyExtract_e.htm?y=2015&m=1"
r = urllib2.urlopen(link)
soup = BeautifulSoup(r)
print soup.find_all("td", class_="td1_normal_class")
# I also tried this one
# print.find_all("div", class_="dataTable")
我得到了一个空数组。
我的问题是:如何获取页面内容,而不是从页面源代码获取?
如果您在源代码中找不到div,则表示已生成您要查找的div。它可以使用一些 JS 框架,如 Angular 或只是 JQuery。如果您想浏览呈现的 HTML,您必须使用运行包含的 JS 代码的浏览器。
尝试使用硒
How can I parse a website using Selenium and Beautifulsoup in python?
from bs4 import BeautifulSoup
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('http://www.hko.gov.hk/cis/dailyExtract_e.htm?y=2015&m=1')
html = driver.page_source
soup = BeautifulSoup(html)
print soup.find_all("td", class_="td1_normal_class")
但是请注意,使用 Selenium 会大大减慢该过程,因为它必须启动无头浏览器。
如果您在 chrome/firefox 上打开开发工具并查看请求,您会看到数据是根据对 http://www.hko.gov.hk/cis/dailyExtract/dailyExtract_2015.xml
的请求生成的,该请求提供了所有 12 个月的数据然后你可以从中提取。