安装python:安装教程
Vscode 推荐
获取网址信息
#获取网址信息 k为页码传参
def getHtml(url, k):
print('start-gethtml' + " Page %s" % k)
# page = urllib.request.urlopen(url) # urllib.request.urlopen()方法用于打开一个URL地址
# html = page.read() # read()方法用于读取URL上的数据
# tip 1 模拟真人操作
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36 Edg/87.0.664.75'}
page = urllib.request.Request(url, headers=headers)
# page=requests.get(url, headers=headers)
html=urllib.request.urlopen(page).read().decode("utf-8")
return html
定义要创建的目录
# 定义要创建的目录
stzz_path = "E:\\Python\\cat\\xxxx\\"
爬取图片并保存到本地
#爬取图片 k为页码传参
def getImg(html, k):
reg = r'src="(https://imgsa.*?\.jpg)"' # 这个貌似是贴吧通用的
imgre = re.compile(reg)
imList = re.findall(reg, html)
#爬取图片命名
x=0
for i in imList:
print(i)
print(x)
urllib.request.urlretrieve(i, stzz_path + '\%s\%s.jpg' % (k, x))
x += 1
自动建文件夹函数
# 建文件夹
def mymkdir(path):
# 去除首位空格
path=path.strip()
# 去除尾部 \ 符号
path=path.rstrip("\\")
# 判断路径是否存在
# 存在 True
# 不存在 False
isExists=os.path.exists(path)
# 判断结果
if not isExists:
# 如果不存在则创建目录
# 创建目录操作函数 多层
os.makedirs(path)
print (path + ' 创建成功')
return True
else:
# 如果目录存在则不创建,并提示目录已存在
print (path + ' 目录已存在')
return False
爬取的贴吧网址
url = "https://tieba.baidu.com/p/xxxxxxx?pn=" # 目标贴吧地址,?pn= 为页码索引
由于贴吧有多页,开循环爬取
#由于贴吧有多页,开循环爬取
for k in range(1, 5): # 从1开始遍历到5(不含5)
# 调用函数
mymkdir(stzz_path + ("\\%s" % k))
ul = url+str(k)
print(ul)
html = getHtml(ul, k)
getImg(html, k)
完整代码
from multiprocessing.util import is_exiting
import os, sys
import re
import urllib.request
#获取网址信息
def getHtml(url, k):
print('start-gethtml' + " Page %s" % k)
# page = urllib.request.urlopen(url) # urllib.request.urlopen()方法用于打开一个URL地址
# html = page.read() # read()方法用于读取URL上的数据
# tip 1 模拟真人操作
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36 Edg/87.0.664.75'}
page = urllib.request.Request(url, headers=headers)
# page=requests.get(url, headers=headers)
html=urllib.request.urlopen(page).read().decode("utf-8")
return html
# 定义要创建的目录
stzz_path = "E:\\Python\\cat\\stzz\\"
#爬取图片
def getImg(html, k):
reg = r'src="(https://imgsa.*?\.jpg)"'
imgre = re.compile(reg)
imList = re.findall(reg, html)
#爬取图片命名
x=0
for i in imList:
print(i)
print(x)
urllib.request.urlretrieve(i, stzz_path + '\%s\%s.jpg' % (k, x))
x += 1
# 建文件夹
def mymkdir(path):
# 去除首位空格
path=path.strip()
# 去除尾部 \ 符号
path=path.rstrip("\\")
# 判断路径是否存在
# 存在 True
# 不存在 False
isExists=os.path.exists(path)
# 判断结果
if not isExists:
# 如果不存在则创建目录
# 创建目录操作函数
os.makedirs(path)
print (path + ' 创建成功')
return True
else:
# 如果目录存在则不创建,并提示目录已存在
print (path + ' 目录已存在')
return False
#爬取的贴吧网址
url = "https://tieba.baidu.com/p/6222419479?pn="
#由于贴吧有14页,爬取的图片较多,这里先爬取一个网址的图片,图片保存在当前文件夹里
for k in range(1, 5):
# 调用函数
mymkdir(stzz_path + ("\\%s" % k))
ul = url+str(k)
print(ul)
html = getHtml(ul, k)
getImg(html, k)
网友评论