本帖最后由 什么鬼… 于 2017-3-9 23:34 编辑 import urllib.request
import re
search = input('输入你要查找的内容:')
qury ={ 'search':search,
'title':'Special:搜索',
'go':'前往'}
qury = urllib.parse.urlencode(qury)
url = 'https://zh.wikipedia.org/w/index.php?'+str(qury)
content = urllib.request.urlopen(url).read().decode('utf-8')
title_list = re.findall(r'<a href="(?:[^!]+)" title="([^"]+)" data-serp-pos="(?:[0-9]+)">',content)
代码如上,我搜索的内容是:"我是” (随意输入的,只是想先调试一下,idle中的输入我没有带引号,这里是为了表明我的输入内容)
运行后print(title_list)然后输出值只有两个title,表示完全不理解,明明应该把所有的title都输出的
我把一个满足的标签进行调试比如>>> re.findall(r'<a href="(?:[^!]+)" title="([^"]+)" data-serp-pos="(?:[0-9]+)">','<a href="/wiki/%E5%81%87%E5%A6%82%E6%88%91%E6%98%AF%E6%AD%A6%E6%9D%BE" title="假如我是武松" data-serp-pos="0">')
['假如我是武松']
>>>
但是问题来了>>> re.findall(r'<a href="(?:[^!]+)" title="([^"]+)" data-serp-pos="(?:[0-9]+)">','<a href="/wiki/%E5%81%87%E5%A6%82%E6%88%91%E6%98%AF%E6%AD%A6%E6%9D%BE" title="假如我是武松" data-serp-pos="0"><a href="/wiki/%E6%88%91%E6%98%AF%E4%B8%80%E7%89%87%E4%BA%91" title="我是一片云" data-serp-pos="2">')
['我是一片云']
>>>
结果只输出了一个值,这个最起码应该输出两个吧,我确实不知道问题出在哪了,希望有人可以来解答一下..... |