开始学习python 3和漂亮的肥皂 尝试使用以下代码从网页中获取结果:
import mechanicalsoup
from bs4 import BeautifulSoup
browser = mechanicalsoup.StatefulBrowser()
browser.open("http://www.intellicast.com/")
browser.select_form()
browser["query"] = input("Enter city,Country")
response = browser.submit_selected()
html = response.text
soup = BeautifulSoup(html, features="lxml")
right_table = soup.find_all('td', id="conditions")
print(right_table)
我被困在这一点上 根据用户输入的结果应如下所示:
32°华氏度
23°
寒风:23°
天花板:5400
耐热指数:32°
能见度:10mi
露点:16°
风速:12mph
湿度:51%
方向:北纬330°
压力:30.53“
阵风:17mph
如何获得此结果,请帮忙。
谢谢。
答案 0 :(得分:0)
从html <!--[if lte IE 9]>
和<![endif]-->
和.select()
右元素中删除注释
...
html = response.text
html = html.replace('<!--[if lte IE 9]>', '').replace('<![endif]-->', '')
soup = BeautifulSoup(html, features="lxml")
right_table = soup.select('#conditions tr')
for tr in right_table:
print(tr.text.replace('\n', ''))