首页 > 解决方案 > 我的代码不起作用,为 urllib 包尝试了各种方式?

问题描述

import re
>>> import urllib.request
>>> url="https://www.google.com/search?q=googlestock"
>>> print(url)
https://www.google.com/search?q=googlestock
>>> data=urllib.request.urlopen(url).read()

我收到一个错误,但是手动打开时 url 可以正常工作。错误是

     File "<pyshell#4>", line 1, in <module>
       data=urllib.request.urlopen(url).read()
     File "C:\Users\SHARM\AppData\Local\Programs\Python\Python37-32\lib\urllib\request.py", line 222, in urlopen
       return opener.open(url, data, timeout)
     File "C:\Users\SHARM\AppData\Local\Programs\Python\Python37-32\lib\urllib\request.py", line 531, in open
       response = meth(req, response)
     File "C:\Users\SHARM\AppData\Local\Programs\Python\Python37-32\lib\urllib\request.py", line 641, in http_response
       'http', request, response, code, msg, hdrs)
     File "C:\Users\SHARM\AppData\Local\Programs\Python\Python37-32\lib\urllib\request.py", line 569, in error
       return self._call_chain(*args)
     File "C:\Users\SHARM\AppData\Local\Programs\Python\Python37-32\lib\urllib\request.py", line 503, in _call_chain
       result = func(*args)
     File "C:\Users\SHARM\AppData\Local\Programs\Python\Python37-32\lib\urllib\request.py", line 649, in http_error_default
       raise HTTPError(req.full_url, code, msg, hdrs, fp)
   urllib.error.HTTPError: HTTP Error 403: Forbidden

标签: python-3.x

解决方案


如果你想从谷歌做网页抓取,你可以使用“谷歌”库。在命令提示符下,pip install google(字面意思是“pip install google”)。然后,尝试这样的事情:

from googlesearch import search 
for s in search("googlestock"): 
    print(s) 

这将打印来自谷歌搜索“googlestock”的所有结果。在这里了解更多关于这个库的信息:https ://pypi.org/project/google/

希望对你有帮助,BR


推荐阅读