爬妹子的图片
首先引入requests模块
import requests
然后将你想要爬取的网址用一个变量保存`
url = 'https://www.vmgirls.com/12985.html'
再用requests.get获取页面全部信息,用变量response保存
response = requests.get(url ) #获取页面全部信息
再然后用response.text以html的格式显示出来,用变量html保存
html = response.text
引入正则re模块
import re
用正则re.findall在html中匹配出你想要的内容,比如我想要图片地址
urls = re.findall('<a href="(.*?)" alt=".*?" title=".*?">', html)
再用for循环将所有图片地址遍历出来下载,以其图片地址后缀为标题再写入文件当中
for url in urls:
response = requests.get(url , headers = headers) #下载每张图片
file_name = url.split('/')[-1] #将每张图片最后的后缀取出来
with open('wb') as f: #将图片写进标题目录并以图片后缀当标题
f.write(response.content)
因为下载的图片在当前目录下不便整理,我们可以引入os模块,对电脑文件进行操作(以下代码都要在for循环之前,因为python代码是从上到下执行的)
import os
我们可以用一个变量dir_name存储目录名(目录名字随你)
dir_name = picture
然后进行判断电脑是否有该目录,如果没有就创建一个
if not os.path.exists(dir_name): #判断是否有标题信息,如果没有就创建一个标题目录
os.mkdir(dir_name)
最后在将目录名加在写入文件之前
with open(dir_name + '/' + file_name, 'wb') as f:
f.write(response.content)
最后附上完整代码
#!/usr/bin/python3
#! coding:utf-8
import requests
import re
import os
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3741.400 QQBrowser/10.5.3863.400'
} #头文件
url = 'https://www.vmgirls.com/12985.html' #网址
response = requests.get(url = url , headers = headers) #获取页面全部信息
html = response.text #以网页代码形式呈现
dir_name = re.findall('<h1 class="post-title h3">(.*?)</h1>', html)[0] #获取标题信息(获取到的是一个列表所以取其内容要用[0])
# print(dir_name)
if not os.path.exists(dir_name): #判断是否有标题信息,如果没有就创建一个标题目录
os.mkdir(dir_name)
urls = re.findall('<a href="(.*?)" alt=".*?" title=".*?">', html) #正则表达式,匹配想要的内容(图片地址)
for url in urls:
file_name = url.split('/')[-1] #将每张图片最后的后缀取出来(以/为分界取最后一段)
response = requests.get(url , headers = headers) #下载每张图片
with open(dir_name + '/' + file_name, 'wb') as f: #将图片写进标题目录并以图片后缀当标题
f.write(response.content)