鱼C论坛

 找回密码
 立即注册
查看: 5003|回复: 8

[已解决]爬虫爬彼岸图网高清壁纸 有机会吗???

[复制链接]
发表于 2018-7-12 21:46:34 | 显示全部楼层 |阅读模式

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

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

x
最近找到个高清壁纸网:彼岸图网,  但是每天只能下一张图片,很僵硬   想利用爬虫爬一下,但是技术有限  我爬不出4k高清壁纸原图,所以来此请教各位大佬   
最佳答案
2018-7-14 19:17:08
这个可以爬,你说的每天只能爬一张,我开始也遇到了这个问题,开始用beautifulsoup提取图片链接,怎么试都只能提取到第一个,后来用正则表达就可以提取整个网页的图片连接,这个代码的主函数没有修改,只能爬第一页的,因为第一页的地址和后面的规律不一样,楼主可以自己修改一下爬后面的页面的
  1. import re
  2. import requests
  3. from bs4 import BeautifulSoup as bs
  4. import os


  5. def url_open(url):
  6.     headers = {
  7.         'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36 LBBROWSER'}
  8.     res = requests.get(url, headers=headers)
  9.     return res


  10. def findlinks(res):
  11.     soup = bs(res.text, 'lxml')
  12.     target = soup.find_all('ul', class_="clearfix")
  13.     list = re.findall(r'href="(.*?\.html)"', str(target))
  14.     return list


  15. def find_img(list):
  16.     urlhead = 'http://pic.netbian.com'
  17.     img = []
  18.     for each in list:
  19.         img.append(urlhead + each)
  20.     return img


  21. def save_img(img):
  22.     urlhead = 'http://pic.netbian.com'
  23.     for each in img:
  24.         res = url_open(each)
  25.         soup = bs(res.content, 'lxml')
  26.         link = re.findall(r'src="(/.*\.jpg)"', str(soup))
  27.         url = urlhead + link[0]
  28.         filename = url.split('/')[-1].replace('.html', '')
  29.         img = url_open(url)
  30.         with open(filename, 'wb') as f:
  31.             f.write(img.content)


  32. if __name__ == '__main__':
  33.     # os.mkdir('彼岸图')
  34.     os.chdir('彼岸图')
  35.     url = 'http://pic.netbian.com/4kyingshi/index.html'
  36.     res = url_open(url)
  37.     list = findlinks(res)
  38.     img = find_img(list)
  39.     save_img(img)
复制代码

彼岸图.zip (826 Bytes, 下载次数: 13)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-7-14 19:17:08 | 显示全部楼层    本楼为最佳答案   
这个可以爬,你说的每天只能爬一张,我开始也遇到了这个问题,开始用beautifulsoup提取图片链接,怎么试都只能提取到第一个,后来用正则表达就可以提取整个网页的图片连接,这个代码的主函数没有修改,只能爬第一页的,因为第一页的地址和后面的规律不一样,楼主可以自己修改一下爬后面的页面的
  1. import re
  2. import requests
  3. from bs4 import BeautifulSoup as bs
  4. import os


  5. def url_open(url):
  6.     headers = {
  7.         'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36 LBBROWSER'}
  8.     res = requests.get(url, headers=headers)
  9.     return res


  10. def findlinks(res):
  11.     soup = bs(res.text, 'lxml')
  12.     target = soup.find_all('ul', class_="clearfix")
  13.     list = re.findall(r'href="(.*?\.html)"', str(target))
  14.     return list


  15. def find_img(list):
  16.     urlhead = 'http://pic.netbian.com'
  17.     img = []
  18.     for each in list:
  19.         img.append(urlhead + each)
  20.     return img


  21. def save_img(img):
  22.     urlhead = 'http://pic.netbian.com'
  23.     for each in img:
  24.         res = url_open(each)
  25.         soup = bs(res.content, 'lxml')
  26.         link = re.findall(r'src="(/.*\.jpg)"', str(soup))
  27.         url = urlhead + link[0]
  28.         filename = url.split('/')[-1].replace('.html', '')
  29.         img = url_open(url)
  30.         with open(filename, 'wb') as f:
  31.             f.write(img.content)


  32. if __name__ == '__main__':
  33.     # os.mkdir('彼岸图')
  34.     os.chdir('彼岸图')
  35.     url = 'http://pic.netbian.com/4kyingshi/index.html'
  36.     res = url_open(url)
  37.     list = findlinks(res)
  38.     img = find_img(list)
  39.     save_img(img)
复制代码

彼岸图.zip (826 Bytes, 下载次数: 13)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-14 19:19:53 | 显示全部楼层
另外没有登陆,不喜欢用QQ去登陆这些奇奇怪怪的网站,不知道是不是登陆后有更高清的图、爬到的都是1000多分辨率的,登陆的话楼主自己摸索一下

效果图

效果图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-7-15 14:51:18 | 显示全部楼层
罗同学 发表于 2018-7-14 19:19
另外没有登陆,不喜欢用QQ去登陆这些奇奇怪怪的网站,不知道是不是登陆后有更高清的图、爬到的都是1000多分 ...

首先非常感谢您在百忙之中为我解答
您的代码我看了    相当OK
当然 如果只是对于1000多分辨率的来说
但是我想爬的是4K图片   但是我又找不到图片源头    可能是在对面服务器里面
看图就明了了

但是还是非常谢谢您的代码!

这是我想爬的

这是我想爬的

这个是您爬的

这个是您爬的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-16 17:22:56 | 显示全部楼层
你这个要求 有点难啊  首先你得有个无限制下载图片得会员 少年
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-7-17 18:46:11 | 显示全部楼层
本帖最后由 罗同学 于 2018-7-17 19:24 编辑
新人 发表于 2018-7-16 17:22
你这个要求 有点难啊  首先你得有个无限制下载图片得会员 少年


是的呢、研究了一下、可以爬出来图片里的下载链接,但是还是需要会员账户,只有链接不登陆也没有用。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-7-17 18:51:24 | 显示全部楼层
罗同学 发表于 2018-7-17 18:46
是的呢、研究了一下、可以爬出来图片你的下载链接,但是还是需要会员账户,只有链接不登陆也没有用。

ummm  对  是我错了    抱歉  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-17 22:05:16 | 显示全部楼层
requests 和bs4 module都没有呀是什么情况
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-7-18 12:33:11 | 显示全部楼层
blUesstyle 发表于 2018-7-17 22:05
requests 和bs4 module都没有呀是什么情况

这个是要额外安装的   requests模块和BeautifulSoup模块   你可以上网搜一下教程
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 15:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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