【发布时间】:2016-04-25 09:12:11
【问题描述】:
以下代码提取网页信息
from BeautifulSoup import BeautifulSoup
import requests
import urllib2
url = 'http://www.surfline.com/surf-report/rincon-southern-california_4197/'
source_code = requests.get(url)
plain_text = source_code.text
print plain_text
site = urllib2.urlopen(url).read()
print site
两个库的结果包括:
<div id="current-surf-range" style="font-size:21px;font-weight:bold;padding-top:7px; padding-bottom: 7px;"></div>
很遗憾,这与实际网页不同:
<div id="current-surf-range" style="font-size:21px;font-weight:bold;padding-top:7px; padding-bottom: 7px;">4-5ft</div>
4-5ft 不存在,因此 BeautifulSoup 无法提取。
【问题讨论】:
-
可能是在
HTTP/1.1 200响应发回后异步加载数据。 PS。从网站抓取数据并不总是合法的,请检查已发布数据的许可证或寻找提供类似数据的 REST 服务。 -
requests和urllib2永远不会执行 JavaScript。但我可以在selenium中向您展示解决方案。 -
@GeorgePetrov:请做
-
@boogie_bullfrog 进展如何?
标签: python html web-scraping python-requests urllib2