首页 编程教程正文

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

piaodoo 编程教程 2020-02-22 22:03:03 883 0 python教程

本文来源吾爱破解论坛

学习python中,今天学了beautifulsoup库,很实用的一个库,感觉比正则好很多,一个find_all就直接能取到关键点,
爬妹子图给我我学习的动力简直不要太强!!!
嘻嘻,今天的成果分享给大家

TIM截图20180627184834.png (167.88 KB, 下载次数: 0)

下载附件  保存到相册

2018-6-27 18:49 上传

TIM截图20180627184916.png (176.04 KB, 下载次数: 0)

下载附件  保存到相册

2018-6-27 18:50 上传


妹子图主站  #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.lanzous.com/i1aw32d
tip:评分不要钱,您的评分是我最大的动力嗨学网

版权声明:

本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。

有关影视版权:本站只供百度云网盘资源,版权均属于影片公司所有,请在下载后24小时删除,切勿用于商业用途。本站所有资源信息均从互联网搜索而来,本站不对显示的内容承担责任,如您认为本站页面信息侵犯了您的权益,请附上版权证明邮件告知【754403226@qq.com】,在收到邮件后72小时内删除。本文链接:https://www.piaodoo.com/7432.html

搜索