鱼C论坛

 找回密码
 立即注册
查看: 2491|回复: 5

[作品展示] 来了很久 了 第一次发技术帖 妹子 图片 简单的urllib使用

[复制链接]
发表于 2018-1-1 00:00:54 | 显示全部楼层 |阅读模式

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

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

x
  1. import urllib.request
  2. import re
  3. import os
  4. import time

  5. def get(url):
  6.     res = urllib.request.Request(url)
  7.     res.add_header('User-Agent',
  8.                    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36')
  9.     response = urllib.request.urlopen(res)
  10.     html = response.read()
  11.     return html


  12. # 获得每一张图片的url 的后面内容 然后交给 get_url 拼接
  13. def open_url(url):
  14.     img_adds = []
  15.     html = get(url).decode('gbk')
  16.     img_add = re.findall(r'href="(/gao[^"]*\.htm)"',html)
  17.     for add in img_add:
  18.         if len(add) > 25:
  19.             # print(add)  # ------------------------------------打印 后面的配对
  20.             img_adds.append(add)
  21.     return img_adds


  22. # 获取 每一张图片新的浏览地址  然后 交给get_new_url
  23. def get_url(img_adds):
  24.     new_urls = []
  25.     url = 'https://www.4493.com'
  26.     for img_add in img_adds:
  27.         new_urlll = url + img_add
  28.         print('新的图片浏览地址--',new_urlll)
  29.         new_urls.append(new_urlll)
  30.         # time.sleep(0.5) # --------------------- 延时
  31.     return new_urls
  32. # 每一位 美女对应的所有 的浏览地址 -----------------------所有对应的浏览
  33. def more_url(new_urls):
  34.     new_url = []
  35.     for url in new_urls:
  36.         html = get(url)
  37.         response = html.decode('gbk')
  38.         last_pages = re.findall(r'<a href="(\d+?\.htm)"',response)
  39.         if len(last_pages):
  40.             last_pages.remove('1.htm') # 移除第一个重复的元素
  41.             print(last_pages)
  42.             for page in last_pages:
  43.                 ur = re.sub(r'(\d+?\.htm)', page, url) # 替换浏览地址的最后面的部分
  44.                 new_url.append(ur)
  45.                 time.sleep(0.1)
  46.     print('每一位美女的浏览地址———',new_url)
  47.     return new_url

  48. # 获得 图片的下载 地址 然后交给doen_img 下载 并保存
  49. def get_new_url(new_url):
  50.     img_src = []
  51.     for url in new_url:
  52.         html = get(url).decode('gbk')
  53.         img_srccc = re.search(r'<p><img src="([^"]+\.jpg)"',html)
  54.         if img_srccc:
  55.             img_src.append(img_srccc.group(1))
  56.             print('图片列表-',img_srccc) # ------------------------------------------------------------图片的下载地址
  57.         else:
  58.             continue
  59.         time.sleep(0.2)   # -----------------------------延时
  60.     return img_src


  61. def down_img(la,img_src):
  62.     for add in img_src:
  63.         print('最后的下载地址',add) # -------------------------------------------------------------图片最后的下载地址
  64.         name = add.split('/')[-1]
  65.         print(name)
  66.         with open(name,'wb') as f:
  67.             img = get(add)
  68.             f.write(img)
  69.             time.sleep(0.1) # ------------------------------延时


  70. def main(la='xiaojiayu'):
  71.     os.mkdir(la)
  72.     os.chdir(la)
  73.     url = 'https://www.4493.com/gaoqingmeinv/index-'
  74.     num = 0
  75.     for i in range(1):
  76.         num += i
  77.         start_url = url + str(num) + '.htm' # 起始链接
  78.         img_adds = open_url(start_url)  # 获得拼接内容
  79.         new_urls = get_url(img_adds) # 获得新的连接
  80.         new_url = more_url(new_urls) # 获得 每一个 美女的所有 所有连接
  81.         img_src = get_new_url(new_url) # 新的 下载地址
  82.         down_img(la,img_src)

  83. if __name__ == '__main__':
  84.     main()
复制代码
snipaste20171231_235943.png

评分

参与人数 1荣誉 +3 鱼币 +3 贡献 +3 收起 理由
小甲鱼 + 3 + 3 + 3 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-1-1 00:04:19 | 显示全部楼层
现在 抓取的 速度有点慢 准备加入多任务 有没有 鱼油 给点思路
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-1 05:36:00 | 显示全部楼层
厉害了,这个很有趣味性学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-4 00:15:23 | 显示全部楼层
厉害了,这个很有趣味性学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-5 07:39:38 | 显示全部楼层
爱死你了楼主{:10_282:}{:10_282:}{:10_282:}{:10_282:}{:10_282:}{:10_282:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-5 07:46:04 | 显示全部楼层
我一定好好学,今晚就分享一个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 17:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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