Python 爬虫:如何用 10 行代码抓取网站图片
在网络世界中,图片是一个非常重要的元素,图片可以让网站更加生动有趣,也可以提高用户的阅读体验。但是,有些网站的图片是很难一张一张手动下载下来的,这时候我们可以使用 Python 爬虫来抓取这些图片,让我们来看看如何用 10 行代码抓取网站图片吧!
首先,我们需要明确一下几个概念:
1. 爬虫:一个自动获取网页内容的程序,也可以可以获取一些网上的其他资源,例如图片、视频等。
2. HTML:网页的源代码,可以通过浏览器上的“查看源代码”来获取。
3. XPath:一种用于在 XML 或 HTML 文档中定位元素的语言。
接下来,我们来看看抓取网站图片的具体步骤:
1. 通过 Python 库 requests 获取网站的源代码,代码如下:
```
import requests
url = "https://www.example.com"
r = requests.get(url)
```
2. 使用 Python 库 lxml 来解析 HTML 源代码,从而获取网页中的图片链接,代码如下:
```
from lxml import html
tree = html.fromstring(r.content)
img_links = tree.xpath('//img/@src')
```
3. 将获取到的图片链接保存到本地,代码如下:
```
import os
import urllib.request
folder_path = './images/'
if not os.path.exists(folder_path):
os.makedirs(folder_path)
for index, link in enumerate(img_links):
file_path = folder_path + str(index+1) + '.jpg'
urllib.request.urlretrieve(link, file_path)
```
以上就是用 10 行代码抓取网站图片的全部步骤了。完整的代码如下:
```
import requests
from lxml import html
import os
import urllib.request
url = "https://www.example.com"
r = requests.get(url)
tree = html.fromstring(r.content)
img_links = tree.xpath('//img/@src')
folder_path = './images/'
if not os.path.exists(folder_path):
os.makedirs(folder_path)
for index, link in enumerate(img_links):
file_path = folder_path + str(index+1) + '.jpg'
urllib.request.urlretrieve(link, file_path)
```
需要注意的是,该代码只能获取图片链接是以“https://”或“http://”开头的,如果有些图片链接不是以这个开头的话,可以适当进行修改。
总结一下,通过上述的代码,我们可以轻松地抓取网站图片,从而提高我们的工作效率和阅读体验。希望大家能够通过这篇文章,了解到 Python 爬虫的基本知识,并且能够在以后的工作中灵活应用。