吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5211|回复: 21
上一主题 下一主题
收起左侧

[Python 转载] 爬取养眼图片

[复制链接]
跳转到指定楼层
楼主
buxiaokai 发表于 2020-9-12 21:27 回帖奖励
import webbrowser
def click():
   webbrowser.open(path)
path = "https://www.tujigu.com/a/28708"
click()
import re
import urllib.request as request
import random
import os
import time
import PIL  #Pycharm 下面没安装成功,安装Pillow后可以调用PIL模块了
from PIL import Image
import glob


def open_url(url):
   req = request.Request(url)
   ua = [
      "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36",
      # chrome
      "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SE 2.X MetaSr 1.0; SE 2.X MetaSr 1.0; .NET CLR 2.0.50727; SE 2.X MetaSr 1.0)",
      # 搜狗
      "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 360SE)",  # 360
      "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0"  # 火狐
      ]
   ipdrass = ['211.137.52.158:8080','222.240.184.126:8086',"211.137.52.158:8080",
              "60.13.42.128:9999","124.117.101.56:8118"]
   req.add_header("User-Agent",random.choice(ua) )
   proxy = ipdrass
   proxy = random.choice(proxy)
   proxy_support = request.ProxyHandler({'http': proxy})
   opener = request.build_opener(proxy_support)
   request.install_opener(opener)
   response = request.urlopen(url)
   html = response.read().decode('utf-8')
   return html
def get_img(html):
   print("连接网络成功!")
   #p = r'<img src="([^"]+\.jpg)" alt='
   #
   ps1 = r'\d.html">(.*?)</a> <a class'
   pages = re.findall(ps1,html)
   pagess = re.findall('(\d+)', pages[0])[-1]
   img_list = []
   img_list.append(url)
   for i in range(2,int(pagess)+1):
      img_html = url +"/"+ str(i) + ".html"
      img_list.append(img_html)
   print(img_list)

   # ps = r'<a href="(.*?)">\d</a>'
   # #imglist = re.findall(p,html)
   # pages = re.findall(ps,html)
   # pages = list(set(pages))
   # pages.append(url)
   for a in img_list:
      a = open_url(a)
      p = r'<img src="([^"]+\.jpg)" alt='
      imglist = re.findall(p, a)
      img_down(imglist)
      time.sleep(1)
def img_down(imglist):
   for each in imglist:
      path = downs
      if not os.path.exists(path):
         os.makedirs(path)
      filename = path + each.split("/")[-1]
      request.urlretrieve(each, filename, None)
      print(each.split("/")[-1]+"图片正在下载")
def Resize_Image(downs):
   myfiles = glob.glob(downs+"*.jpg")
   i = 1
   for f in myfiles:
      namespilt0 = f.split("\\")
      outname0 = downs + namespilt0[-1]
      img = Image.open(f)
      h0 = float(img.size[1])
      w0 = float(img.size[0])
      img_new = img.resize((int(w0 /fix), int(h0 /fix)), PIL.Image.ANTIALIAS)
      img_new.save(outname0)
      i = i + 1
if __name__ == '__main__':
   url = 'https://www.tujigu.com/a/34706'#https://www.tujigu.com/a/28708
   print("正在连接网络。。。。。。")
   files = "009"
   fix = 1
   downs = "C:\\Users\\86184\\Documents\\Rainmeter\\Skins\mmimg\\" + files + "\\"
   get_img(open_url(url))
   Resize_Image(downs)
   print("图片下载完成!")

免费评分

参与人数 3吾爱币 +3 热心值 +3 收起 理由
atlas.吾爱破解 + 1 + 1 我很赞同!
aoenian + 1 + 1 用心讨论,共获提升!
hej1981 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
ciker_li 发表于 2020-9-12 21:45
感谢分享,https://www.tujigu.com/
推荐
 楼主| buxiaokai 发表于 2020-9-13 14:41 |楼主
aoenian 发表于 2020-9-13 09:57
只是知道很厉害,虽然要求有点过分了,但是如果可以在方法里面简单写一下干嘛的可能对我们这些门边汉就更好 ...

files = "009"是存的文件夹
   fix = 1      是修改图片的大小,4是缩小4倍
   downs      是保存的绝对路径
然后直接修改这是哪个就OK了
沙发
zch1504139 发表于 2020-9-12 21:43
完全看不懂啊 这个代码复制到python的界面就可以了吗
4#
Aska 发表于 2020-9-12 21:54
看不明白啊
5#
 楼主| buxiaokai 发表于 2020-9-12 22:03 |楼主
zch1504139 发表于 2020-9-12 21:43
完全看不懂啊 这个代码复制到python的界面就可以了吗

是的呢安装好其他包
6#
 楼主| buxiaokai 发表于 2020-9-12 22:05 |楼主

按照步骤写就对了,1伪装2找到图片地址3保存
7#
白晓生 发表于 2020-9-12 22:07
跟各位兄弟的想法一样,公式是真不错但是咋用呀。。
8#
huomavip 发表于 2020-9-12 22:12
看这个干嘛?看真的不行?
9#
大兵马元帅 发表于 2020-9-12 22:38
我有一百多G的图片,
10#
半凉夏|半离歌 发表于 2020-9-12 22:39
反正看不懂
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 07:56

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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