Python:在给定的网页上搜索单词

2024-10-01 17:41:39 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我第一个在web上使用python的程序。 我想计算一下在谷歌和国际足联主页上发生的特定事件的次数。在

1)在谷歌上

def wordOnTheWebGoogle():
    import urllib2
    import re    
    page = urllib2.urlopen("http://www.google.com").read()
    print re.findall("football",page)
    print page.find("football") 

输出是

[]

-1个

2)国际足联主页

^{pr2}$

输出是

wordOnTheWebFifa()
Traceback (most recent call last):

  File "<ipython-input-51-4e40573ed4fb>", line 1, in <module>
    wordOnTheWebFifa()

  File "D:L12Problem.py", line 21, in wordOnTheWebFifa
    page = urllib2.urlopen("http://www.fifa.com").read()

  File "C:\Anaconda\lib\urllib2.py", line 127, in urlopen
    return _opener.open(url, data, timeout)

  File "C:\Anaconda\lib\urllib2.py", line 410, in open
    response = meth(req, response)

  File "C:\Anaconda\lib\urllib2.py", line 523, in http_response
    'http', request, response, code, msg, hdrs)

  File "C:\Anaconda\lib\urllib2.py", line 448, in error
    return self._call_chain(*args)

  File "C:\Anaconda\lib\urllib2.py", line 382, in _call_chain
    result = func(*args)

  File "C:\Anaconda\lib\urllib2.py", line 531, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)

HTTPError: Forbidden

我想至少谷歌搜索会返回一些东西,但没有。 有人能帮我解决这两个问题吗? 对于国际足联,为什么这是禁止的信息。在

谨致问候, 形容词


Tags: inpyimporthttpresponseliblinepage
1条回答
网友
1楼 · 发布于 2024-10-01 17:41:39

问题1:

  • 你找不到“足球”这个词www.google.com因为“足球”这个词没有出现在那页上。在浏览器中加载www.google.com,看看是否可以看到单词“football”。在

如果你想搜索google在搜索“football”时返回的页面,可以模拟按该页面上的“google search”按钮。如果你查看谷歌,在这些庞大的代码块中查找表单字段并确定如何提交它们是非常重要的。正如评论中所观察到的,它可能违反了使用条款。在

问题2:

  • urllib2无法加载的原因很神秘www.fifa.com。我看不出你做错了什么——我也一样。我唯一能想到的是urllib2没有提供服务器在国际足联请求,所以请求被拒绝(因为“禁止”错误似乎告诉我们国际足联那就是拒绝我们的联系)。在

我建议你使用一个更好的库来进行web访问。这是您想要的:

import requests
import re
def wordOnTheWebFifa():
    page = requests.get("http://www.fifa.com").text
    print re.findall("football", page)
    print page.find("football")

wordOnTheWebFifa()

结果:

mgregory$ python foo.py
[u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football', u'football']
2569

相关问题 更多 >

    热门问题