当我运行它时,BeautifulSoup返回[]

plzhelpmi

我正在将Beautiful汤与python一起使用,以从网站中检索天气数据。

网站的外观如下:

<channel>
<title>2 Hour Forecast</title>
<source>Meteorological Services Singapore</source>
<description>2 Hour Forecast</description>
<item>
<title>Nowcast Table</title>
<category>Singapore Weather Conditions</category>
<forecastIssue date="18-07-2016" time="03:30 PM"/>
<validTime>3.30 pm to 5.30 pm</validTime>
<weatherForecast>
<area forecast="TL" lat="1.37500000" lon="103.83900000" name="Ang Mo Kio"/>
<area forecast="SH" lat="1.32100000" lon="103.92400000" name="Bedok"/>
<area forecast="TL" lat="1.35077200" lon="103.83900000" name="Bishan"/>
<area forecast="CL" lat="1.30400000" lon="103.70100000" name="Boon Lay"/>
<area forecast="CL" lat="1.35300000" lon="103.75400000" name="Bukit Batok"/>
<area forecast="CL" lat="1.27700000" lon="103.81900000" name="Bukit Merah"/>` 
<channel>

我想找回下午3:30至5时30分这是间validTime

检查页面中的元素后,我发现该<span>元素内的“ class = Text”位于3.30 pm到5.30 pm之间

检查网站元素

基于webiste,这是我的python代码:

import requests
from bs4 import BeautifulSoup

url = "http://www.nea.gov.sg/api/WebAPI/?dataset=2hr_nowcast&keyref=<keyrefnumber>"

r = requests.get(url)

soup = BeautifulSoup(r.content, "html.parser")

g_data = soup.find_all("span", {"class": "text"})

print g_data

# to print out the file in 3.30pm to 5:30pm to an XML file
outfile = open('C:\scripts\idk.xml','w')

当我在CMD中运行python代码时,我得到的只是[]

马丁·彼得斯(Martijn Pieters)

在新加坡国家环境局网站的主要API页清楚地表明,你得到的回应是一个XML文档:

2小时即时广播
数据描述:接下来2小时的天气预报
最近一次API更新:2016年3月1日,
频率,每小时,
文件类型:XML

您正在查看Chrome中数据的HTML表示形式;Chrome浏览器对XML进行了改造,使其能够以某种方式呈现,但是您的Python代码仍在直接访问XML。PDF文档和你自己的问题显示实际的XML内容,解析这些

如果要对XML使用BeautifulSoup,请确保已安装lxml项目并使用'xml'解析器类型。然后只需访问validTime元素的文本内容

soup = BeautifulSoup(r.content, "xml")
valid_time = soup.find('validTime').string

演示:

>>> import requests
>>> from bs4 import BeautifulSoup
>>> r = requests.get('http://www.nea.gov.sg/api/WebAPI/?dataset=2hr_nowcast&keyref=<private_api_key>')
>>> soup = BeautifulSoup(r.content, "xml")
>>> soup.find('validTime').string
u'4.00 pm to 6.00 pm'

如果要写入XML文件,则必须确保该文件正在写入有效的XML这超出BeautifulSoup的范围。

另外,默认情况下,请使用Python随附ElementTreeAPI它既可以解析XML,又可以生成新的XML。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

当我运行npm install时,它返回ERR!代码EINTEGRITY`(npm 5.3.0)

来自分类Dev

当我希望它返回“-”时,Excel 公式返回数值

来自分类Dev

我想选择具有特定类的 div 标签。但是当我运行它时,我的蜘蛛什么都不返回?

来自分类Dev

我不知道为什么,但是当我运行以下代码时,它返回9作为质数

来自分类Dev

当我运行它时,代码什么也不做(ROS,opencv)

来自分类Dev

当我在 python 中舍入 x 时,它返回 0.0

来自分类Dev

当我从网页上运行我的Linkedin URL时,它给我一个错误

来自分类Dev

我在 Docker 中运行 tomcat 但是当我关闭终端时它停止了,那么如何让它连续运行

来自分类Dev

为什么当我运行它时不显示我的画布?

来自分类Dev

将ngrok可执行文件移至/ usr / local / bin,但是当我运行“ ./ngrok http 8000”时,它返回“ zsh:无此类文件或目录:./ ngrok”

来自分类Dev

使用 struts2,当我运行它时,它不会转到我的方法,它说找不到资源

来自分类Dev

当我替换正在运行的PostgreSQL服务器使用的.so文件时,它崩溃了

来自分类Dev

当我运行Rails Server时,它显示有关database.yml的错误

来自分类Dev

仅当我使用PsExec作为远程服务运行它时才编译失败

来自分类Dev

当我尝试运行Yii服务时,它什么也没做。(fsockopen():无法连接)

来自分类Dev

当我多次运行程序(在C中)时,它总是选择相同的随机数

来自分类Dev

当我运行sudo命令时,它说无法解析主机

来自分类Dev

当我尝试运行grunt-react任务时,它挂起了

来自分类Dev

没有名为ho.pisa的模块-当我使用wsgi运行它时

来自分类Dev

当我在真实设备 iOS 中运行它时应用程序崩溃

来自分类Dev

当我在模拟器中运行它时,应用程序不断崩溃

来自分类Dev

当我使用Math.Round()时,它总是返回下限

来自分类Dev

当我从网站上抓取数据时,它仅返回换行符

来自分类Dev

当我将字符串传递给函数时,它无法返回“ none”

来自分类Dev

当我尝试将String转换为Date时,它使用Javascript返回今天的日期吗?

来自分类Dev

为什么当我从Firebase获取数据时,它返回NULL?

来自分类Dev

在Facebook Integration中,当我单击登录按钮时,它显示正在加载并返回主屏幕?

来自分类Dev

当我返回它时,实现 LoaderCallbacks<Cursor> 的 Fragment(Fragment 内的 ViewPager)的 ListView 为空

来自分类Dev

当我在根路径上使用 file.listFiles() 时,它总是返回 null

Related 相关文章

  1. 1

    当我运行npm install时,它返回ERR!代码EINTEGRITY`(npm 5.3.0)

  2. 2

    当我希望它返回“-”时,Excel 公式返回数值

  3. 3

    我想选择具有特定类的 div 标签。但是当我运行它时,我的蜘蛛什么都不返回?

  4. 4

    我不知道为什么,但是当我运行以下代码时,它返回9作为质数

  5. 5

    当我运行它时,代码什么也不做(ROS,opencv)

  6. 6

    当我在 python 中舍入 x 时,它返回 0.0

  7. 7

    当我从网页上运行我的Linkedin URL时,它给我一个错误

  8. 8

    我在 Docker 中运行 tomcat 但是当我关闭终端时它停止了,那么如何让它连续运行

  9. 9

    为什么当我运行它时不显示我的画布?

  10. 10

    将ngrok可执行文件移至/ usr / local / bin,但是当我运行“ ./ngrok http 8000”时,它返回“ zsh:无此类文件或目录:./ ngrok”

  11. 11

    使用 struts2,当我运行它时,它不会转到我的方法,它说找不到资源

  12. 12

    当我替换正在运行的PostgreSQL服务器使用的.so文件时,它崩溃了

  13. 13

    当我运行Rails Server时,它显示有关database.yml的错误

  14. 14

    仅当我使用PsExec作为远程服务运行它时才编译失败

  15. 15

    当我尝试运行Yii服务时,它什么也没做。(fsockopen():无法连接)

  16. 16

    当我多次运行程序(在C中)时,它总是选择相同的随机数

  17. 17

    当我运行sudo命令时,它说无法解析主机

  18. 18

    当我尝试运行grunt-react任务时,它挂起了

  19. 19

    没有名为ho.pisa的模块-当我使用wsgi运行它时

  20. 20

    当我在真实设备 iOS 中运行它时应用程序崩溃

  21. 21

    当我在模拟器中运行它时,应用程序不断崩溃

  22. 22

    当我使用Math.Round()时,它总是返回下限

  23. 23

    当我从网站上抓取数据时,它仅返回换行符

  24. 24

    当我将字符串传递给函数时,它无法返回“ none”

  25. 25

    当我尝试将String转换为Date时,它使用Javascript返回今天的日期吗?

  26. 26

    为什么当我从Firebase获取数据时,它返回NULL?

  27. 27

    在Facebook Integration中,当我单击登录按钮时,它显示正在加载并返回主屏幕?

  28. 28

    当我返回它时,实现 LoaderCallbacks<Cursor> 的 Fragment(Fragment 内的 ViewPager)的 ListView 为空

  29. 29

    当我在根路径上使用 file.listFiles() 时,它总是返回 null

热门标签

归档