下面的代码,用于搜索维基百科上凯文·贝肯词条里所有指向其他词条的链接。
搜索结果中那些指向其它词条页面的链接应具有如下特点:
• 它们都在 id 是 bodyContent 的 div 标签里
• URL 链接不包含分号
• URL 链接都以 /wiki/ 开头
代码如下:
from urllib.request import urlopen
from bs4 import BeautifulSoup
import datetime
import random
import re
random.seed(datetime.datetime.now())
def getLinks(articleUrl):
html = urlopen(" https://en.wikipedia.org "+articleUrl)
bsObj = BeautifulSoup(html)
return bsObj.find("div", {"id":"bodyContent"}).findAll("a",href=re.compile("^(/wiki/)((?!:).)*$"))
links = getLinks("/wiki/Kevin_Bacon")
print(links)
代码运行后报错如下,请问这是为什么呢?感谢指点!
Traceback (most recent call last):
File "c:\Users\A\AppData\Roaming\Code\User\test\2.py", line 11, in <module>
links = getLinks("/wiki/Kevin_Bacon")
File "c:\Users\A\AppData\Roaming\Code\User\test\2.py", line 8, in getLinks
html = urlopen(" https://en.wikipedia.org "+articleUrl)
File "D:\Python\Python3\lib\urllib\request.py", line 223, in urlopen
return opener.open(url, data, timeout)
File "D:\Python\Python3\lib\urllib\request.py", line 526, in open
response = self._open(req, data)
File "D:\Python\Python3\lib\urllib\request.py", line 544, in _open
'_open', req)
File "D:\Python\Python3\lib\urllib\request.py", line 504, in _call_chain
result = func(*args)
File "D:\Python\Python3\lib\urllib\request.py", line 1361, in https_open
context=self._context, check_hostname=self._check_hostname)
File "D:\Python\Python3\lib\urllib\request.py", line 1320, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [Errno 11004] getaddrinfo failed>
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.