鱼C论坛

 找回密码
 立即注册
查看: 3944|回复: 12

[已解决]Py 第52课:下载鱼C首页,并打印前300字节。

[复制链接]
发表于 2021-5-17 09:34:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 Peteryo01223 于 2021-5-17 09:36 编辑

我的问题:为何我的尝试,这次行不通呀?请教高手们。
题目:下载鱼C工作室首页(http://www.fishc.com),并打印前三百个字节。
标准答案

  1. >>> import urllib.request
  2. >>> response = urllib.request.urlopen('http://www.fishc.com')
  3. >>> print(response.read(300))
  4. 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'
复制代码


我的尝试
  1. import urllib.request

  2. url = 'http://www.fishc.com'
  3. proxy_support = urllib.request.ProxyHandler({'http':'8.208.91.118:81'})

  4. opener = urllib.request.build_opener(proxy_support)

  5. urllib.request.install_opener(opener)

  6. response = urllib.request.urlopen(url)
  7. html = response.read().decode('utf-8')

  8. print(html[0:299])
复制代码
最佳答案
2021-5-17 13:32:53
Peteryo01223 发表于 2021-5-17 11:12
试了试,不知为何,还是在报错。



  1. import urllib.request

  2. url = 'http://www.fishc.com'

  3. response = urllib.request.urlopen(url)
  4. html = response.read().decode('utf-8')

  5. print(html[0:299])
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-5-17 09:43:38 From FishC Mobile | 显示全部楼层
把代理去掉
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-17 09:52:46 | 显示全部楼层
  1. import urllib.request

  2. url = 'http://www.fishc.com'

  3. urllib.request.install_opener(url)

  4. response = urllib.request.urlopen(url)
  5. html = response.read().decode('utf-8')

  6. print(html[0:299])
复制代码

这么写行么?
目前还是报错
  1. >>>
  2. ================== RESTART: C:/Users/user/Desktop/20210517b.py =================
  3. Traceback (most recent call last):
  4.   File "C:/Users/user/Desktop/20210517b.py", line 7, in <module>
  5.     response = urllib.request.urlopen(url)
  6.   File "C:\Users\user\AppData\Local\Programs\Python\Python38\lib\urllib\request.py", line 222, in urlopen
  7.     return opener.open(url, data, timeout)
  8. AttributeError: 'str' object has no attribute 'open'
  9. >>>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-17 10:05:26 From FishC Mobile | 显示全部楼层
Peteryo01223 发表于 2021-5-17 09:52
这么写行么?
目前还是报错

现在一般都用requests这个模块,很少有用urllib的了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-17 10:48:09 | 显示全部楼层
wp231957 发表于 2021-5-17 10:05
现在一般都用requests这个模块,很少有用urllib的了

我目前还在看旧视频,以前这个还都没学明白。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-17 10:50:14 | 显示全部楼层
Peteryo01223 发表于 2021-5-17 09:52
这么写行么?
目前还是报错
  1. print(requests.get("http://www.fishc.com").text[:300])
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-17 11:12:40 | 显示全部楼层

试了试,不知为何,还是在报错。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-17 12:06:14 From FishC Mobile | 显示全部楼层
Peteryo01223 发表于 2021-5-17 11:12
试了试,不知为何,还是在报错。

报啥错,你有pip install  requests吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-17 13:32:53 | 显示全部楼层    本楼为最佳答案   
Peteryo01223 发表于 2021-5-17 11:12
试了试,不知为何,还是在报错。



  1. import urllib.request

  2. url = 'http://www.fishc.com'

  3. response = urllib.request.urlopen(url)
  4. html = response.read().decode('utf-8')

  5. print(html[0:299])
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-17 13:52:16 | 显示全部楼层
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="apple-mobile-web-app-capable" content="yes">
  6. <meta name="apple-touch-fullscreen" content="yes">
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
  8. <meta name="keywords" content="鱼C工作室|免
  9. >>>
复制代码


结果如上,没报错~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-17 14:45:05 | 显示全部楼层
1111111111111111
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-17 18:16:49 | 显示全部楼层
友情提示,当300字节里包含汉字里,你这句话就是一个错误了。因为utf-8编码一个汉字不止一个字节,你打印的是300个字符
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2021-5-18 08:31:06 | 显示全部楼层
洋洋痒 发表于 2021-5-17 18:16
友情提示,当300字节里包含汉字里,你这句话就是一个错误了。因为utf-8编码一个汉字不止一个字节,你打印的 ...

好的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-25 13:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表