鱼C论坛

 找回密码
 立即注册
查看: 2293|回复: 9

[已解决]请问python爬虫教学实战里面爬猫图的问题

[复制链接]
发表于 2020-2-5 15:21:58 | 显示全部楼层 |阅读模式

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

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

x
按照小甲鱼的代码敲了一边 系统一直在运行 跳不出去是为啥?
import urllib.request
responece= urllib.request.urlopen("http://placekitten.com/g/300/500")
File = responece.read()
with open('cat_300_500.jpg','wb') as f:
    f.write(File)
最佳答案
2020-2-6 16:31:40
  1. import urllib.request
  2. req = urllib.request.Request("http://placekitten.com/g/300/500")
  3. req.add_header('User-Agent','Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.85 Safari/537.36 Edg/80.0.361.47')
  4. response = urllib.request.urlopen(req)
  5. File = response.read()
  6. with open('cat_300_500.jpg','wb') as f:
  7.     f.write(File)
复制代码


应该是服务器这两天加了反爬虫,我前两天能用的程序也爬不了了,你还是加个header吧
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-6 15:58:01 | 显示全部楼层
本帖最后由 qiuyouzhi 于 2020-2-6 16:02 编辑

这个网页都访问不了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-6 16:01:58 From FishC Mobile | 显示全部楼层
qiuyouzhi 发表于 2020-2-6 15:58
不是啊,程序早就跳出来了
是因为它的执行结果没有在IDLE里面有显示,而是直接拷下来了图片

连headers都没有,对方也给响应??
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-6 16:03:35 | 显示全部楼层
wp231957 发表于 2020-2-6 16:01
连headers都没有,对方也给响应??

他是按照书来的
书上有headers?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-6 16:04:08 | 显示全部楼层
qiuyouzhi 发表于 2020-2-6 16:03
他是按照书来的
书上有headers?

我记得小甲鱼的视频里也没有吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-6 16:09:38 | 显示全部楼层
wp231957 发表于 2020-2-6 16:01
连headers都没有,对方也给响应??

不是所有的网站,都会要求有请求头的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-6 16:13:56 From FishC Mobile | 显示全部楼层
Stubborn 发表于 2020-2-6 16:09
不是所有的网站,都会要求有请求头的

10个网站,能通过一个都是多的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-6 16:31:40 | 显示全部楼层    本楼为最佳答案   
  1. import urllib.request
  2. req = urllib.request.Request("http://placekitten.com/g/300/500")
  3. req.add_header('User-Agent','Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.85 Safari/537.36 Edg/80.0.361.47')
  4. response = urllib.request.urlopen(req)
  5. File = response.read()
  6. with open('cat_300_500.jpg','wb') as f:
  7.     f.write(File)
复制代码


应该是服务器这两天加了反爬虫,我前两天能用的程序也爬不了了,你还是加个header吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-6 16:36:18 | 显示全部楼层
可以啊,我运行了一下,程序是可行的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-7 10:17:47 | 显示全部楼层
dlnb526 发表于 2020-2-6 16:31
应该是服务器这两天加了反爬虫,我前两天能用的程序也爬不了了,你还是加个header吧

请问这个header要怎么找?所有的header都像您这么写吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-6 02:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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