美汤returns'none'
Beautiful Soup returns 'none'
我正在使用下面的代码使用美丽的汤提取数据:
import requests
import bs4
res = requests.get('https://www.jmu.edu/cgi-bin/parking_sign_data.cgi?hash=53616c7465645f5f5c0bbd0eccccb6fe8dd7ed9a0445247e3c7dcb4f91927f7ccc933be780c6e558afb8ebf73620c3e5e3b2c68cd3c138519068eac99d9bf30e1e67ce894deb3a054f95f882da2ea2f0|869835tg89dhkdnbnsv5sg5wg0vmcf4mfcfc2qwm5968unmeh5')
soup = bs4.BeautifulSoup(res.text, 'xml')
soup.find_all("span", class_="text")
我尝试了最后一行的不同变体,试图让程序显示任何内容,但每次都是 returns "None" 或一个空列表。我唯一可以显示的是整个 html 站点使用:print(soup.contents)
。我要提取的数据是每个 signID 标签中的 "Display" 标签值。当它打印整个 HTML 网站时,数据显然就在那里。
附加信息:我要提取的数字是停车场中当前的车位数量,因此该网站每秒都会更新。
附加信息 2:此站点是 https://www.jmu.edu/parking/ 的 iframe。我要的数据在右下角"commuter parking"
下
我看到您正试图在每个 Sign
标签下提取 Display
标签值。希望对你有所帮助。
代码:
import requests
from bs4 import BeautifulSoup
res = requests.get('https://www.jmu.edu/cgi-bin/parking_sign_data.cgi?hash=53616c7465645f5f5c0bbd0eccccb6fe8dd7ed9a0445247e3c7dcb4f91927f7ccc933be780c6e558afb8ebf73620c3e5e3b2c68cd3c138519068eac99d9bf30e1e67ce894deb3a054f95f882da2ea2f0|869835tg89dhkdnbnsv5sg5wg0vmcf4mfcfc2qwm5968unmeh5')
soup = BeautifulSoup(res.text, 'lxml')
for data in soup.find_all('sign'):
print(data.signid.text, data.display.text)
输出:
1 442
2 442
3 442
4 Happy Holidays
5 Happy Holidays
我只显示了 5 个值的输出,这给出了 57 个 signId
和 Display
个值。
如果您只需要 Display
个值,您可以直接使用 soup.find_all('display')
。我在示例中使用了 signId
和 Display
仅供参考。
我正在使用下面的代码使用美丽的汤提取数据:
import requests
import bs4
res = requests.get('https://www.jmu.edu/cgi-bin/parking_sign_data.cgi?hash=53616c7465645f5f5c0bbd0eccccb6fe8dd7ed9a0445247e3c7dcb4f91927f7ccc933be780c6e558afb8ebf73620c3e5e3b2c68cd3c138519068eac99d9bf30e1e67ce894deb3a054f95f882da2ea2f0|869835tg89dhkdnbnsv5sg5wg0vmcf4mfcfc2qwm5968unmeh5')
soup = bs4.BeautifulSoup(res.text, 'xml')
soup.find_all("span", class_="text")
我尝试了最后一行的不同变体,试图让程序显示任何内容,但每次都是 returns "None" 或一个空列表。我唯一可以显示的是整个 html 站点使用:print(soup.contents)
。我要提取的数据是每个 signID 标签中的 "Display" 标签值。当它打印整个 HTML 网站时,数据显然就在那里。
附加信息:我要提取的数字是停车场中当前的车位数量,因此该网站每秒都会更新。
附加信息 2:此站点是 https://www.jmu.edu/parking/ 的 iframe。我要的数据在右下角"commuter parking"
下我看到您正试图在每个 Sign
标签下提取 Display
标签值。希望对你有所帮助。
代码:
import requests
from bs4 import BeautifulSoup
res = requests.get('https://www.jmu.edu/cgi-bin/parking_sign_data.cgi?hash=53616c7465645f5f5c0bbd0eccccb6fe8dd7ed9a0445247e3c7dcb4f91927f7ccc933be780c6e558afb8ebf73620c3e5e3b2c68cd3c138519068eac99d9bf30e1e67ce894deb3a054f95f882da2ea2f0|869835tg89dhkdnbnsv5sg5wg0vmcf4mfcfc2qwm5968unmeh5')
soup = BeautifulSoup(res.text, 'lxml')
for data in soup.find_all('sign'):
print(data.signid.text, data.display.text)
输出:
1 442
2 442
3 442
4 Happy Holidays
5 Happy Holidays
我只显示了 5 个值的输出,这给出了 57 个 signId
和 Display
个值。
如果您只需要 Display
个值,您可以直接使用 soup.find_all('display')
。我在示例中使用了 signId
和 Display
仅供参考。