爬虫入门

															 爬妹子的图片

首先引入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)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值