Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Python urlopen错误404目录_Php_Python 3.x_Beautifulsoup_Urlopen - Fatal编程技术网

Php Python urlopen错误404目录

Php Python urlopen错误404目录,php,python-3.x,beautifulsoup,urlopen,Php,Python 3.x,Beautifulsoup,Urlopen,我有以下代码: from urllib.request import urlopen from bs4 import BeautifulSoup page = urlopen("http://www.doctoralia.com") soup = BeautifulSoup(page) myfile = open('data.txt','w') myfile.write(soup.prettify()) myfile.close() print('done boy !') 它工作得很好! 但

我有以下代码:

from urllib.request import urlopen
from bs4 import BeautifulSoup

page = urlopen("http://www.doctoralia.com")
soup = BeautifulSoup(page)
myfile = open('data.txt','w')
myfile.write(soup.prettify())
myfile.close()
print('done boy !')
它工作得很好! 但是当我改变
urlopen(“http://www.doctoralia.com“”
urlopen(“”)http://www.doctoralia.com/healthpros“”
它向我抛出以下错误:

Traceback (most recent call last):
File "test.py", line 4, in <module>
page = urlopen("http://www.doctoralia.com/healthpros")
File "C:\Python33\lib\urllib\request.py", line 156, in urlopen
return opener.open(url, data, timeout)
File "C:\Python33\lib\urllib\request.py", line 475, in open
response = meth(req, response)
File "C:\Python33\lib\urllib\request.py", line 587, in http_response
'http', request, response, code, msg, hdrs)
File "C:\Python33\lib\urllib\request.py", line 513, in error
return self._call_chain(*args)
File "C:\Python33\lib\urllib\request.py", line 447, in _call_chain
result = func(*args)
File "C:\Python33\lib\urllib\request.py", line 595, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
回溯(最近一次呼叫最后一次):
文件“test.py”,第4行,在
page=urlopen(“http://www.doctoralia.com/healthpros")
文件“C:\Python33\lib\urllib\request.py”,第156行,在urlopen中
返回opener.open(url、数据、超时)
打开文件“C:\Python33\lib\urllib\request.py”,第475行
响应=方法(请求,响应)
文件“C:\Python33\lib\urllib\request.py”,第587行,在http\U响应中
“http”、请求、响应、代码、消息、hdrs)
文件“C:\Python33\lib\urllib\request.py”第513行出错
返回自我。调用链(*args)
文件“C:\Python33\lib\urllib\request.py”,第447行,在调用链中
结果=func(*args)
文件“C:\Python33\lib\urllib\request.py”,第595行,默认为http\u error\u
raise HTTPError(请求完整的url、代码、消息、hdrs、fp)
有什么问题吗?
如果您仍想查看实际代码,则必须处理此HTTPError,谢谢。例如:

from urllib.request import urlopen
from urllib.error import HTTPError
from bs4 import BeautifulSoup

try:
    page = urlopen("http://www.doctoralia.com/healthpros")
except HTTPError as e:
    if e.code == 404:
        soup = BeautifulSoup(e.fp.read())
        print(soup.prettify())
如果页面给出404 HTTPError,这将输出代码


您可以删除if语句,并对每个HTTPError执行此操作。

如果仍要查看处理此HTTPError的实际代码。例如:

from urllib.request import urlopen
from urllib.error import HTTPError
from bs4 import BeautifulSoup

try:
    page = urlopen("http://www.doctoralia.com/healthpros")
except HTTPError as e:
    if e.code == 404:
        soup = BeautifulSoup(e.fp.read())
        print(soup.prettify())
如果页面给出404 HTTPError,这将输出代码


您可以删除if语句并对每个HTTPError执行此操作。

实际页面显示404错误,代码引发HTTPError。您确定URL正确吗?还是希望捕获此类错误?我想要页面的html代码,它是存在的!实际页面显示404错误,代码引发HTTPError。您确定URL正确吗?还是希望捕获此类错误?我想要页面的html代码,它是存在的!