我刚刚开始在Python中使用beautifulsoup模块,我的代码是从网站上看到现场板球比分。我以某种方式做到了,但结果是打印了两次。
这是我的代码
import requests, bs4
from BeautifulSoup import *
res = requests.get('http://www.cricbuzz.com/cricket-match/live-scores')
res.raise_for_status()
soup = bs4.BeautifulSoup(res.text)
mydivs = soup.findAll("div", { "class" : "cb-lv-scrs-col cb-font-12 text-black" })
le=len(mydivs)
result=""
for l in range(0,le-1):
result += str(mydivs[l].text)+'\n'
print(result)
,结果如下:
IND129 / 2(26.5 Ovs)•ZIM126(34.3 Ovs)
WI266 / 6(45.4 Ovs)•AUS265 / 7(50.0 Ovs)
IND129 / 2(26.5 Ovs)•ZIM126(34.3 Ovs)
WI266 / 6(45.4 Ovs)•AUS265 / 7(50.0 Ovs)
请让我知道我在哪里犯了错误
答案 0 :(得分:0)
我已经用适当的修改编辑了你的代码,希望对你有用。
对于上面的代码,
import requests, bs4
res = requests.get('http://www.cricbuzz.com/cricket-match/live-scores')
res.raise_for_status()
soup = bs4.BeautifulSoup(res.text)
mydivs = soup.findAll("div", { "class" : "cb-lv-scrs-col cb-font-12 text-black" })
le = len(mydivs)
result = ""
for l in range(0,le-1):
result += mydivs[l].text + "\n"
print(result)
我得到的输出是,
IND 129/2 (26.5 Ovs) • ZIM 126 (34.3 Ovs)
WI 266/6 (45.4 Ovs) • AUS 265/7 (50.0 Ovs)
所以,我相信你已将print
置于for
循环中。