BeautifulSoup 不会返回所有数据 [英] BeautifulSoup does not returns all data
本文介绍了BeautifulSoup 不会返回所有数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我今天正在尝试使用 Python 库 BeautifulSoup 解析月相的一些数据.
from bs4 import BeautifulSoup导入 urllib2Moon_url = "http://www.moongiant.com/phase/today/"尝试:rqest = urllib2.urlopen(moon_url)Moon_Soup = BeautifulSoup(rqest, 'lxml')月亮角度 = 0月亮照明 = 0main_data = Moon_Soup.find('div', {'id' : 'moonDetails'})打印 main_data除了 urllib2.URLError:打印错误"
但是输出而不是这个:
相位:<span>打蜡新月</span><br>照度:<span>36%</span><br>月球年龄:<span>6.00 天</span><br>月球角度:<span>0.55</span><br>月球距离:<span>364,</span>434.78 km<br>太阳角:<span>0.53</span><br>太阳距离:<span>149,</span>571,918.47 km<br>
仅仅是这样:
有什么想法吗?
解决方案
其实在RaminNietzsche 的评论之后我使用了dryscrape 库.
from bs4 import BeautifulSoup导入 urllib2进口干刮Moon_url = "http://www.moongiant.com/phase/today/"尝试:rqest = urllib2.urlopen(moon_url)session = dryscrape.Session()session.visit(moon_url)响应 = session.body()汤 = BeautifulSoup(响应,'lxml')月亮数据 = 汤.findAll('div', {'id':'moonDetails'})打印moon_data
结果现在是:
相位:<span>打蜡新月</span><br>照度:<span>36%</span><br>月球年龄:<span>6.00 天</span><br>月球角度:<span>0.55</span><br>月球距离:<span>364,</span>434.78 km<br>太阳角:<span>0.53</span><br>太阳距离:<span>149,</span>571,918.47 km<br>
谢谢大家的回答!
I'm trying to parse some data for the moon phase today using Python's library BeautifulSoup.
from bs4 import BeautifulSoup
import urllib2
moon_url = "http://www.moongiant.com/phase/today/"
try:
rqest = urllib2.urlopen(moon_url)
moon_Soup = BeautifulSoup(rqest, 'lxml')
moon_angle = 0
moon_illumination = 0
main_data = moon_Soup.find('div', {'id' : 'moonDetails'})
print main_data
except urllib2.URLError:
print "Error"
But the output instead of this:
<div id="moonDetails">
Phase: <span>Waxing Crescent</span><br>Illumination: <span>36%
</span><br>Moon Age: <span>6.00 days</span><br>Moon Angle: <span>0.55</span><br>Moon Distance: <span>364,</span>434.78 km<br>Sun Angle: <span>0.53</span><br>Sun Distance: <span>149,</span>571,918.47 km<br>
</div>
Is only this:
<div id="moonDetails">
</div>
Any idea?
解决方案
Actually after the RaminNietzsche's comment I used dryscrape library.
from bs4 import BeautifulSoup
import urllib2
import dryscrape
moon_url = "http://www.moongiant.com/phase/today/"
try:
rqest = urllib2.urlopen(moon_url)
session = dryscrape.Session()
session.visit(moon_url)
response = session.body()
soup = BeautifulSoup(response, 'lxml')
moon_data = soup.findAll('div', {'id':'moonDetails'})
print moon_data
As a result the output now is:
<div id="moonDetails">
Phase: <span>Waxing Crescent</span><br>Illumination: <span>36%
</span><br>Moon Age: <span>6.00 days</span><br>Moon Angle: <span>0.55</span><br>Moon Distance: <span>364,</span>434.78 km<br>Sun Angle: <span>0.53</span><br>Sun Distance: <span>149,</span>571,918.47 km<br>
</div>
Thank's everyone for the answers!
这篇关于BeautifulSoup 不会返回所有数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文