【发布时间】:2018-02-13 04:06:15
【问题描述】:
我有这个项目正在使用 python 3.4。我想在 livecore.com 上获取足球比分(结果),例如获取当天的所有比分(英格兰 2-2 挪威、法国 2-1 意大利等)。我正在使用 python 3.4、windows 10 64bit os 构建它。
我尝试了两种方法,这是代码:
import bs4 as bs
import urllib.request
sauce = urllib.request.urlopen('http://www.livescore.com/').read()
soup = bs.BeautifulSoup(sauce,'lxml')
for div in soup.find_all('div', class_='container'):
print(div.text)
当我运行这段代码时,一只盒子小狗会说:
IDLE 的子进程没有建立连接。 IDLE 无法启动子进程或防火墙软件阻止了连接。
我决定再写一个这是代码:
# Import Modules
import urllib.request
import re
# Downloading Live Score XML Code From Website and reading also
xml_data = urllib.request.urlopen('http://static.cricinfo.com/rss/livescores.xml').read()
# Pattern For Searching Score and link
pattern = "<item>(.*?)</item>"
# Finding Matches
for i in re.findall(pattern, xml_data, re.DOTALL):
result = re.split('<.+?>',i)
print (result[1], result[3]) # Print Score
我得到了这个错误:
Traceback (most recent call last):
File "C:\Users\Bright\Desktop\live_score.py", line 12, in <module>
for i in re.findall(pattern, xml_data, re.DOTALL):
File "C:\Python34\lib\re.py", line 206, in findall
return _compile(pattern, flags).findall(string)
TypeError: can't use a string pattern on a bytes-like object
【问题讨论】:
标签: python web-scraping beautifulsoup python-3.4 urllib