鱼C论坛

 找回密码
 立即注册
查看: 4695|回复: 7

急需一个抓拍网址打开的这个里面所有图片并保存下来

[复制链接]
发表于 2019-11-8 12:20:06 | 显示全部楼层 |阅读模式

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

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

x
各位高手,我现在碰到一个急手问题,比如,我打开了一个网址r如:http://www.360doc.com/content/18/0702/12/46062816_767071220.shtml
这个里面的PPT,他用PDF来显示给我看的,我想如何批量把这个PDF里面的所有图片给抓拍下来,并保存在一个路径里面,要求,这个图片是按顺序自动命名(如1.jpg 2.jpg),然后并自动的保存为PDF文件出来
一直听说python会抓拍,到底怎么弄,我还不会,麻烦高手编写下代码如何实现。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-11-8 14:50:52 | 显示全部楼层
本帖最后由 阴阳神万物主 于 2019-11-8 14:53 编辑

你得找一个有权限访问这样的网页的代理IP,或者你的电脑能访问这样的网页。
只要你能使用你的浏览器访问到 这样的网页 能看到图片,那就可以
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-8 15:28:23 | 显示全部楼层
阴阳神万物主 发表于 2019-11-8 14:50
你得找一个有权限访问这样的网页的代理IP,或者你的电脑能访问这样的网页。
只要你能使用你的浏览器访问到 ...

我的例子写的很清楚,你可以进去看舍。你就直接说代码怎么编写
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-8 15:36:50 | 显示全部楼层
buch2009 发表于 2019-11-8 15:28
我的例子写的很清楚,你可以进去看舍。你就直接说代码怎么编写

那我可先告诉你啊,如果说,你的浏览器无法访问到我给出的那个网页的话,无法下载图片的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-8 15:53:49 | 显示全部楼层
我真服了你,光这里谈论大话,能不能拜托写写代码出来我看看舍。老听说python会爬虫啊,抓拍啊,那就露两手看看舍
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-8 15:56:48 | 显示全部楼层
话说,如果要保存为PDF文件的话,还得去安装wkhtmltopdf这么个东西,还得使用第三方库 pdfkit
你要是特急,建议你去CSDN有现成的
在我这儿,就不给你整 PDF 了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-8 18:21:22 | 显示全部楼层
好吧,我搞不来这个,不晓得这样的报错该咋整
  1. urllib.error.URLError: <urlopen error [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。>
复制代码
不晓得该怎样答复,只要解决了这种问题,我的代码你就能用,逻辑上是讲得通的
我的代码:
  1. import re
  2. import random as rd
  3. import urllib.request
  4. import os
  5. import time
  6. #伪装
  7. headers = {'Connection':'keep-alive',
  8.            'Accept-Language':'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
  9.            'Accept-Encoding':'gzip, deflate, br',
  10.            'Accept':'image/webp,*/*',
  11.            'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0'}
  12. ips = ['121.205.13.12:9999','60.184.173.0:3128','220.249.149.151:9999','113.121.23.62:9999','183.11.235.48:9292']
  13. 代理 = {'http':ips[rd.randint(0, len(ips)-1)]}
  14. prpxy_support = urllib.request.ProxyHandler(代理)
  15. opener = urllib.request.build_opener(prpxy_support)
  16. opener.addheaders = [('User-Agent', headers['User-Agent']),
  17.                      ('Connection',headers['Connection']),
  18.                      ('Accept-Language',headers['Accept-Language']),
  19.                      ('Accept-Encoding',headers['Accept-Encoding']),
  20.                      ('Accept',headers['Accept'])]
  21. #定制结束
  22. def download(url:'目标网址',path:'储存在哪个文件夹'):
  23.     global opener
  24.     html = opener.open(url)#打开网页
  25.     html = html.read()
  26.     rule = re.compile(r'<img data.+?src="(?P<img>.+?)">')
  27.     photos = rule.findall(html)
  28.     num = 1
  29.     le = len(pho)
  30.     while num<le:
  31.         each = photo[num]
  32.         try:
  33.             #伪随机ip防止中断连接
  34.             代理 = {'http':ips[rd.randint(0, len(ips)-1)]}
  35.             prpxy_support = urllib.request.ProxyHandler(代理)
  36.             opener = urllib.request.build_opener(prpxy_support)
  37.             pho = opener.open(each)
  38.             tag = pho.read()
  39.             with open(path+os.sep+str(num)+'.jpg','wb') as f:
  40.                 f.write(tag)
  41.             num += 1
  42.         except:
  43.             print('连接断了,重试中')
  44.             time.sleep(2)
  45.     print('下载完了')
  46. if __name__ == '__main__':
  47.     download('http://www.360doc.com/content/18/0702/12/46062816_767071220.shtml','测试')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-8 19:03:26 From FishC Mobile | 显示全部楼层
阴阳神万物主 发表于 2019-11-8 18:21
好吧,我搞不来这个,不晓得这样的报错该咋整不晓得该怎样答复,只要解决了这种问题,我的代码你就能用,逻 ...

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-20 15:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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