Py 第52课:下载鱼C首页,并打印前300字节。
本帖最后由 Peteryo01223 于 2021-5-17 09:36 编辑我的问题:为何我的尝试,这次行不通呀?请教高手们。
题目:下载鱼C工作室首页(http://www.fishc.com),并打印前三百个字节。
标准答案:
>>> import urllib.request
>>> response = urllib.request.urlopen('http://www.fishc.com')
>>> print(response.read(300))
b'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\r\n\t"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r\n\r\n<!-- \r\n(c) 2011 \xc4\xbdubom\xc3\xadr Krupa, CC BY-ND 3.0\r\n -->\t\r\n\r\n<html xmlns="http://www.w3.org/1999/xhtml">\r\n\t<head>\r\n\t\t<meta http-equiv="content-type" content="text/html; charset=utf-8" />\r\n\t\t'
我的尝试:
import urllib.request
url = 'http://www.fishc.com'
proxy_support = urllib.request.ProxyHandler({'http':'8.208.91.118:81'})
opener = urllib.request.build_opener(proxy_support)
urllib.request.install_opener(opener)
response = urllib.request.urlopen(url)
html = response.read().decode('utf-8')
print(html) 把代理去掉 wp231957 发表于 2021-5-17 09:43
把代理去掉
import urllib.request
url = 'http://www.fishc.com'
urllib.request.install_opener(url)
response = urllib.request.urlopen(url)
html = response.read().decode('utf-8')
print(html)
这么写行么?
目前还是报错
>>>
================== RESTART: C:/Users/user/Desktop/20210517b.py =================
Traceback (most recent call last):
File "C:/Users/user/Desktop/20210517b.py", line 7, in <module>
response = urllib.request.urlopen(url)
File "C:\Users\user\AppData\Local\Programs\Python\Python38\lib\urllib\request.py", line 222, in urlopen
return opener.open(url, data, timeout)
AttributeError: 'str' object has no attribute 'open'
>>> Peteryo01223 发表于 2021-5-17 09:52
这么写行么?
目前还是报错
现在一般都用requests这个模块,很少有用urllib的了 wp231957 发表于 2021-5-17 10:05
现在一般都用requests这个模块,很少有用urllib的了
我目前还在看旧视频,以前这个还都没学明白。 Peteryo01223 发表于 2021-5-17 09:52
这么写行么?
目前还是报错
print(requests.get("http://www.fishc.com").text[:300]) wp231957 发表于 2021-5-17 10:50
试了试,不知为何,还是在报错。 Peteryo01223 发表于 2021-5-17 11:12
试了试,不知为何,还是在报错。
报啥错,你有pip installrequests吗 Peteryo01223 发表于 2021-5-17 11:12
试了试,不知为何,还是在报错。
import urllib.request
url = 'http://www.fishc.com'
response = urllib.request.urlopen(url)
html = response.read().decode('utf-8')
print(html) Twilight6 发表于 2021-5-17 13:32
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-touch-fullscreen" content="yes">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<meta name="keywords" content="鱼C工作室|免
>>>
结果如上,没报错~ 1111111111111111 友情提示,当300字节里包含汉字里,你这句话就是一个错误了。因为utf-8编码一个汉字不止一个字节,你打印的是300个字符 洋洋痒 发表于 2021-5-17 18:16
友情提示,当300字节里包含汉字里,你这句话就是一个错误了。因为utf-8编码一个汉字不止一个字节,你打印的 ...
好的
页:
[1]