爬虫生涯(一):爬取小姐姐的照片①(网站已停用)"/>
从零开始的爬虫生涯(一):爬取小姐姐的照片①(网站已停用)
文章目录
- 前言
- 需要爬取的页面展示
- 思路分析
- 1.页面源码分析
- 2.爬虫思路
- 爬虫代码
- 1.开发环境
- 2.代码分解
- (1).引入库
- (2).获取每张图片的地址
- (3).保存图片到指定文件夹
- 3.整体代码
- 爬取结果
前言
从这篇文章开始,我们将通过连续的几篇文章来爬取某妹网(url :/)的所有小姐姐照片。借这个例子我们一起学习简易的python爬虫。
相关文章请看
从零开始的爬虫生涯(二):爬取小姐姐的照片②
从零开始的爬虫生涯(三):爬取小姐姐的照片③
需要爬取的页面展示
思路分析
1.页面源码分析
首先我们先查看页面源码
发现他的图片url全都放在一个类为entry-content的div块中,那么我们的目标就是取出p标签下的src,这个是每张图片的地址,然后再保存到电脑中。
2.爬虫思路
直接用request取到整个网页,再用BeatutifulSoup解析网页,取出所有的图片链接,最后保存下来
爬虫代码
1.开发环境
开发环境:win10 python3.6.8
使用工具:pycharm
使用第三方库:requests、os、BeatutifulSoup
2.代码分解
(1).引入库
import requests
import os
from bs4 import BeautifulSoup
(2).获取每张图片的地址
target_url = ".html"
r = requests.get(url=target_url)
html = BeautifulSoup(r.text, 'html5lib')
entry_content = html.find('div', class_='entry-content')
img_list = entry_content.find_all('img')
for img in img_list:img_url = img.get('src')result = requests.get(img_url).content
(3).保存图片到指定文件夹
num = 0
name = html.find('h1').text
path = '图片'
if not os.path.exists(path):
os.mkdir(path)
f = open(path + '/' + name + str(num) + '.jpg', 'wb')
f.write(result)
num += 1
print('正在下载{}第{}张图片'.format(name, num))
3.整体代码
import requests
import os
from bs4 import BeautifulSouptarget_url = ".html"
r = requests.get(url=target_url)
html = BeautifulSoup(r.text, 'html5lib')
entry_content = html.find('div', class_='entry-content')
img_list = entry_content.find_all('img')
img_urls = []
num = 0
name = html.find('h1').textfor img in img_list:img_url = img.get('src')result = requests.get(img_url).contentpath = '图片'if not os.path.exists(path):os.mkdir(path)f = open(path + '/' + name + str(num) + '.jpg', 'wb')f.write(result)num += 1print('正在下载{}第{}张图片'.format(name, num))
爬取结果
可以看到,这次爬取非常成功
更多推荐
从零开始的爬虫生涯(一):爬取小姐姐的照片①(网站已停用)
发布评论