鱼C论坛

 找回密码
 立即注册
查看: 23303|回复: 203

[作品展示] 我又回来啦,有认识我的朋友吗,就是坚持爬妹子图的那个~终于扒下来了,和渔友分享

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

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

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

x
本帖最后由 Stubborn 于 2019-2-12 17:18 编辑

网页跟新,get_page_name函数获取不到最大页数的值,需要跟正,渔友动起手来吧
把py文件放到,需要保存的文件目录就可以开始扒图片了。刚学习爬虫的渔友可以看看,写的备注很详细,仅供学习参考,请不要下载欣赏,有伤身体。
需要用到的库bs4        lxml                 requests                fake_useragent

关于库的安装,首先打开CMD命令,cd+空格+pyrhon的Scripts目录,如下图,然后使用pip install 库名,例如输入pip install lxml就是安装lxml解析库


  1. #_*_coding:utf-8
  2. import requests,os
  3. from bs4 import BeautifulSoup
  4. from fake_useragent import UserAgent
  5. ua = UserAgent()

  6. Hostreferer = {
  7.     'User-Agent': ua.random,
  8.     'Referer': 'http://www.mzitu.com'
  9. }
  10. Picreferer = {
  11.     'User-Agent': ua.random,
  12.     'Referer': 'http://i.meizitu.net'
  13. }

  14. def get_page_name(url):
  15.     "获取到图集最大页数和图集介绍"
  16.     html = get_html(url)
  17.     soup = BeautifulSoup(html, 'lxml')
  18.     span = soup.findAll('span')
  19.     title = soup.find('h2', class_="main-title")
  20.     return span[10].text, title.text


  21. def get_html(url):
  22.     "请求网页函数,获取页面代码"
  23.     page_data = requests.get(url,headers=Hostreferer)
  24.     soup_data = page_data.text
  25.     return soup_data

  26. def get_img_url(url, name):
  27.     "获取到图片下载地址"
  28.     html = get_html(url)
  29.     soup = BeautifulSoup(html, 'lxml')
  30.     img_url = soup.find('img', alt= name)
  31.     return img_url['src']

  32. def save_img(img_url, count, name):
  33.     "下载"
  34.     req = requests.get(img_url, headers=Picreferer)
  35.     with open(name+'/'+str(count)+'.jpg', 'wb') as f:
  36.         f.write(req.content)

  37. def get_Atlas_dict(img_link):
  38.     "获取到页面的图集URL"
  39.     soup_data = get_html(img_link)
  40.     soup_data = BeautifulSoup(soup_data,'html.parser')
  41.     img_link = soup_data.find_all("span")
  42.     Atlas_dict = []
  43.     try:
  44.         for i in img_link:
  45.             if i.a == None:
  46.                 pass
  47.             else:
  48.                 #题取出图集的url,因为第一页有总网址,这个得删下,技术不足
  49.                 if i.a.text == "妹子图":
  50.                     pass
  51.                 else:
  52.                     Atlas_dict.append(i.a["href"])
  53.     except:
  54.         pass
  55.     return Atlas_dict


  56. if __name__ == "__main__":
  57.     i = int(input("输入需要下载的页数,一页24个图集:"))
  58.     for each in range(1,i+1):
  59.         url = "https://www.mzitu.com/page/" + str(each) + "/"
  60.         img_url_list = get_Atlas_dict(url)
  61.         for atlas_url in img_url_list:
  62.             page, name = get_page_name(atlas_url)
  63.             print("开始下载:{}图集共计{}张".format(name,page))
  64.             os.mkdir(name)
  65.             for i in range(1, int(page)+1):
  66.                 url = atlas_url + "/" + str(i)
  67.                 img_url = get_img_url(url, name)
  68.                 save_img(img_url, i, name)
  69.                 print('保存第' + str(i) + '张图片成功')
  70.                 if i ==int(page):
  71.                     print(name+"图集下载完成")
复制代码
微信截图_20190124184522.png

评分

参与人数 2荣誉 +8 鱼币 +8 贡献 +5 收起 理由
年迈的战士 + 3 + 3 + 2 .
13572044595 + 5 + 5 + 3

查看全部评分

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-1-22 22:02:03 | 显示全部楼层
@edwinxin 经过我修炼,和百度,终于扒下来了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-22 23:02:53 | 显示全部楼层
看看是什么东西
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-22 23:06:16 | 显示全部楼层
yjsx86 发表于 2019-1-22 23:02
看看是什么东西

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

使用道具 举报

发表于 2019-1-22 23:09:31 | 显示全部楼层
抱着学习的态度!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-22 23:10:19 | 显示全部楼层
13572044595 发表于 2019-1-22 23:09
抱着学习的态度!

仅供学习参考,请不要下载欣赏,有伤身体。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-22 23:15:06 From FishC Mobile | 显示全部楼层
看看学习学习
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-22 23:19:34 | 显示全部楼层
本帖最后由 13572044595 于 2019-1-22 23:20 编辑

为了正常运行代码,我连续安装了 3 个库,终于能运行了,但是。。。。。
报错!
报错!
报错!

QQ截图20190122232038.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-22 23:29:21 | 显示全部楼层
本帖最后由 Stubborn 于 2019-1-22 23:30 编辑
13572044595 发表于 2019-1-22 23:19
为了正常运行代码,我连续安装了 3 个库,终于能运行了,但是。。。。。
报错!
报错!


试过可以正常运行啊,不然不会发帖的,我看看下
微信截图_20190122232827.png
微信截图_20190122233002.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-22 23:30:33 | 显示全部楼层
Stubborn 发表于 2019-1-22 23:29
试过可以正常运行啊,不然不会发帖的,我看看下


为什么我报错了,还有你下载保存的路径在哪里?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-22 23:32:35 | 显示全部楼层
Stubborn 发表于 2019-1-22 23:29
试过可以正常运行啊,不然不会发帖的,我看看下

fake_useragent,bs4,requests  这三个库安装好了?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-22 23:34:24 | 显示全部楼层
本帖最后由 Stubborn 于 2019-1-22 23:46 编辑
13572044595 发表于 2019-1-22 23:30
为什么我报错了,还有你下载保存的路径在哪里?


在哪里运行,下载目录就在哪里,会在牡目录下面新建文件夹(图集名称文件夹存放图片),不大清楚哪里出错了
微信截图_20190122233736.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-22 23:48:40 | 显示全部楼层
Stubborn 发表于 2019-1-22 23:34
在哪里运行,下载目录就在哪里,会在牡目录下面新建文件夹(图集名称文件夹存放图片),不大清楚哪里出 ...


QQ截图20190122234759.png

不知道什么意思,还没学到哪里,算了,我放弃了~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-22 23:56:51 | 显示全部楼层
本帖最后由 Stubborn 于 2019-1-22 23:58 编辑
13572044595 发表于 2019-1-22 23:48
不知道什么意思,还没学到哪里,算了,我放弃了~


你安装bs4库直接pip install bs4吗?还是直接pip install BeautifulSoup  再安装下这个 pip install lxml  
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-23 00:57:43 | 显示全部楼层
iwanna 发表于 2019-1-23 00:31
pip install lxml  试试


可以了,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-23 00:58:15 | 显示全部楼层
Stubborn 发表于 2019-1-22 23:56
你安装bs4库直接pip install bs4吗?还是直接pip install BeautifulSoup  再安装下这个 pip install lx ...


可以了,谢谢,代码我留着,以后参考
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-23 04:44:59 | 显示全部楼层
iwanna 发表于 2019-1-23 00:31
pip install lxml  试试

黄天不负苦心人
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-23 07:47:21 | 显示全部楼层
学习学习
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-23 07:55:40 | 显示全部楼层
会隐藏了啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-23 08:03:59 | 显示全部楼层
你终于成功了。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-14 00:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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