简介
本文介绍如何使用 Python 进行网页图片的批量爬取。通过 requests 库获取网页源码,利用 pyquery 解析 HTML 结构提取图片链接,并结合 os 库实现本地文件保存。文章涵盖了环境搭建、URL 规律分析、代码编写及异常处理等关键步骤。
环境准备
- Python 3.x
- PyCharm 或其他编辑器
- 依赖库:os, requests, pyquery
安装库
CMD 安装方式
打开 CMD 控制台,依次输入以下命令:
pip install requests
pip install pyquery
其中,os 库为 Python 3 内置库,无需额外安装。
PyCharm 安装方式
在 PyCharm 中点击 File > Settings,进入解释器设置界面,添加所需库即可。
代码实现
主程序逻辑
首先确定目标网站 URL 规律。例如国内类别页面:
第一页:http://www.umei.cc/p/gaoqing/cn 第二页:http://www.umei.cc/p/gaoqing/cn/2.htm 第三页:http://www.umei.cc/p/gaoqing/cn/3.htm
以此类推,可通过循环拼接 URL 访问不同页码。
图片抓取函数
为了获取具体图片链接,需要解析详情页 HTML。使用 pyquery 定位到图片元素并提取 src 属性。
完整代码如下:
# -*- coding: utf-8 -*-
import requests
import os
from requests.packages import urllib3
from pyquery import PyQuery as pq
def get_url1(url):
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) '
'AppleWebKit/537.36 (KHTML, like Gecko)'
' Chrome/58.0.3029.110 Safari/537.36'
}
urllib3.disable_warnings()
html = requests.get(url, headers=headers, verify=False).text
doc = pq(html)
a = doc('.TypeList .TypeBigPics')
item a.items():
b = item.attr()
b:
html2 = requests.get(b, headers=headers, verify=).text
doc2 = pq(html2)
c = doc2()
item2 c.items():
d = item2.attr()
(d)
root =
path = root + d.split()[-]
:
os.path.exists(root):
os.mkdir(root)
os.path.exists(path):
r = requests.get(d)
(path, ) f:
f.write(r.content)
f.close()
()
:
()
Exception:
()
__name__ == :
z =
url =
i (z, z + ):
url1 = url + (i) +
(url1)
get_url1(url1)


