首先
我们先确立流程,
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:代码想要运行需要改创建文件夹的路径