我想从站点获取 HTML 代码并将其写入文件。它适用于 http 站点,但如果有 SSL 链接,那么我会收到很多错误。知道如何处理它吗?
from __future__ import print_function
import io
import os
import re
import ssl
from urllib.request import urlopen
with io.open('words.txt', 'a',encoding="utf-8") as g:
url = "https://www.something.some"
html = urlopen(url).read()
print(html, file = g)
这里是错误
Traceback (most recent call last):
File "...\Desktop\mined.py", line 54, in <module>
html = urlopen(url).read()
File "...\Local\Programs\Python\Python35-32\lib\urllib\request.py", line 163, in urlopen
return opener.open(url, data, timeout)
File "....\Local\Programs\Python\Python35-32\lib\urllib\request.py", line 472, in open
response = meth(req, response)
File "...\Local\Programs\Python\Python35-32\lib\urllib\request.py", line 582, in http_response
'http', request, response, code, msg, hdrs)
File "...\Local\Programs\Python\Python35-32\lib\urllib\request.py", line 510, in error
return self._call_chain(*args)
File "...\Local\Programs\Python\Python35-32\lib\urllib\request.py", line 444, in _call_chain
result = func(*args)
File "...\Local\Programs\Python\Python35-32\lib\urllib\request.py", line 590, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden
最佳答案
我会这样做:
import urllib
resp = urllib.urlopen('https://somewebsite.com') # open url
page = resp.read() # copy website source to 'page' variable
text_file = open("Output.txt", "w") # open txt file
text_file.write(page) # insert website source into txt file
text_file.close() # close file
关于python - 在 Python 中从 https 站点获取 HTML 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40241718/