python爬取男人装

首先

我们先确立流程,
1.确定抓取的网站 (男人装 – 百度搜索即可找到)
2.抓取的图片放在一个文件夹中,文件夹名字是那一页的标题,这里就需要动态创建文件夹
3.请求网络 获取网络返回的数据
4.数据解析 – 取出我们想要的东西

下面是完整代码

'''

动态文件夹的构建

确定抓取的网站

请求网络   获取网络返回的数据
数据的解析 -取出我们想要的东西

'''

import requests
import os
from bs4 import BeautifulSoup

def getHtml(url):
    r = requests.get(url)
    r.encoding = r.apparent_encoding
    return r.text

def creativeFile(name):
    # os.getcwd获取绝对路径   --  name就是获取到的页的标题
    dir_path = os.path.join(os.getcwd(),name)   # 把os.getcwd和name拼接到一块

    # 如果当前目录不存在,则创建,反之则提醒用户该目录已经存在了
    if not os.path.exists(dir_path):
        os.makedirs(dir_path)   # 创建
    else:
        print("该文件已经存在了")

def getTitle(html):
    soup = BeautifulSoup(html,'html.parser')
    targets = soup.find_all("h2")
    for each in targets:
        name = each.text
    return name

def getPhoto(html):
    result = []
    soup = BeautifulSoup(html, 'html.parser')
    targets = soup.find_all("img")
    
    for each in targets:
        each = each.get("src")
        result.append(each)
        #print(a)
    return result


def main():
    # 将图片路径放进这个列表
    result = []
    num = 1
    url = "http://enrz.com/fhm/2017/05/11/90122.html"
    html = getHtml(url)
    name = getTitle(html)
    creativeFile(name)
    result = getPhoto(html)
    #getPhoto(html, result)
    #print(result)

    for i in result:
        a = requests.get(i)
        with open(r'D:\pythonproject\laojiuHomework\{}\{}.jpg'.format(name,num), 'wb') as f:
            f.write(a.content)
            num += 1


if __name__ == '__main__':
    main()

PS:代码想要运行需要改创建文件夹的路径

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值