吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 8013|回复: 34
收起左侧

[Python 原创] 【原创】【Python】小白学习Python之beautifulsuop爬取妹子图

  [复制链接]
执念i_ 发表于 2018-6-27 18:59
学习python中,今天学了beautifulsoup库,很实用的一个库,感觉比正则好很多,一个find_all就直接能取到关键点,
爬妹子图给我我学习的动力简直不要太强!!!
嘻嘻,今天的成果分享给大家
TIM截图20180627184834.png TIM截图20180627184916.png
妹子图主站  #http://www.meizitu.com/

交代环境:
python3.6
用到的模块:
BeautifulSoup库
requests库
os库

下面是代码:
[Python] 纯文本查看 复制代码
from bs4 import BeautifulSoup
import requests
import os

#获取图片链接
def get_img_url(folders,img):
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '
                      'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36'
    }
    req = requests.get(img,headers=headers).content  #请求组图链接
    soup = BeautifulSoup(req, 'html5lib')  #beautsou解析
    soup = soup.find_all(name='div',attrs={'id':'picture'})  #查找关键字段
    for m in soup:  #遍历出图片链接和图片名
        m = m.find_all('img')
        for i in m:
            name = i['alt']
            src = i['src']
            folder = folders
            download_img(src,name,folder)

#下载图片
def download_img(img_url,img_name,foler):
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '
                      'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36'
    }
    file = requests.get(img_url,headers = headers)  #请求图片链接
    if not os.path.exists('imagge' + '/' + str(foler)):  # 检测是否有image目录没有则创建
        os.makedirs('imagge' + '/' + str(foler))
    filename = 'imagge'+'/'+str(foler)+'/'+str(img_name)+'.jpg'  #拼接图片名
    fp = open(filename,'wb')  #打开文件
    print(filename)
    fp.write(file.content)  #写入文件
    fp.close()

#访问主页面获取组图链接
def get_url(page):
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '
                      'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36'
    }
    url = 'http://www.meizitu.com/a/more_'+str(page)+'.html'
    reponse = requests.get(url, headers=headers).content
    soup = BeautifulSoup(reponse, 'html5lib')
    soup = soup.find_all(name='div', attrs={"class":"con"})
    for i in soup:
        m = i.find_all('h3')
        for n in m:
            name1 = n.a.string
            html1 = n.a['href']
            get_img_url(name1,html1)

#运行
get_url(1)  #这里的数字是第几页,想爬那一页这里的数字改成几就行。。。


源码下载:https://www.lanzouj.com/i1aw32d
tip:评分不要钱,您的评分是我最大的动力

免费评分

参与人数 21吾爱币 +18 热心值 +20 收起 理由
jimmg6 + 1 我很赞同!
xstormli + 1 + 1 谢谢@Thanks!
失路穷途 + 1 + 1 我很赞同!
maxiaohui + 1 + 1 有值得学习的地方
lilihuakai + 1 + 1 谢谢@Thanks!
learndozen + 1 + 1 谢谢@Thanks!
lushan63 + 1 用心讨论,共获提升!
MR.SONG123 + 1 + 1 酷′_>`
零度冷咖啡 + 1 + 1 谢谢@Thanks!
、林缺 + 1 + 1 打不开
dhs347 + 1 + 1 谢谢@Thanks!
五五66 + 1 + 1 我很赞同!
小安xiaoan + 1 + 1 一起交流下 我也在学
bbsokok + 1 + 1 谢谢@Thanks!
流月汐志 + 1 + 1 kajima
jshon + 1 + 1 热心回复!
lin_xop + 1 + 1 热心回复!
执念123 + 1 + 1 热心回复!
路漫长 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
w523992698 + 1 感谢您的宝贵建议,我们会努力争取做得更好!
zuiai125520 + 1 热心回复!

查看全部评分

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

lilihuakai 发表于 2018-7-30 22:25
、林缺 发表于 2018-7-1 23:28
bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: html5lib. Do you  ...

需要安装html5lib:pip install html5lib
、林缺 发表于 2018-7-1 23:28
bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: html5lib. Do you need to install a parser library?
Xw丶小威 发表于 2018-6-27 19:08
感觉看不到  
[Python] 纯文本查看 复制代码
if  __name__=="__main__":

就很难受
流言 发表于 2018-6-27 19:12
还不如弄个  聚合图片的插件   
13169456869 发表于 2018-6-27 19:14 来自手机
感谢分享
汆肉米线 发表于 2018-6-27 19:16
礼貌性回复
懿蓑烟雨 发表于 2018-6-27 19:38
谢谢楼主
舰长大人 发表于 2018-6-27 20:08
这个。。。。。。。看起来很不错啊!(手动滑稽)
zuiai125520 发表于 2018-6-27 20:25
不错哈 也在学习python 但是最近考试没时间
jshon 发表于 2018-6-28 00:25
感谢楼主分享!
eniac 发表于 2018-6-28 12:55 来自手机
爬妹子图,这事最有动力了。觉得还可以爬一些其他的图,用处很大很大。谢谢楼主!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-16 08:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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