用python3.8写一个在ubuntu20.04自动爬取网页图片的代码
时间: 2023-09-16 12:05:41 浏览: 181
### 回答1:
好的,这是一个使用 Python 3.8 在 Ubuntu 20.04 中自动爬取网页图片的示例代码:
```
import requests
from bs4 import BeautifulSoup
def download_image(url):
# 通过 requests 库获取图片内容
response = requests.get(url)
# 将内容写入文件
open("image.jpg", "wb").write(response.content)
def crawl_images(url):
# 通过 requests 库获取网页内容
response = requests.get(url)
# 使用 BeautifulSoup 解析网页内容
soup = BeautifulSoup(response.text, "html.parser")
# 查找所有的 img 标签
images = soup.find_all("img")
# 遍历图片,并下载
for image in images:
image_url = image["src"]
download_image(image_url)
# 爬取图片
crawl_images("http://www.example.com")
```
希望这能帮到你!
### 回答2:
下面是一个使用Python 3.8编写的在Ubuntu 20.04上自动爬取网页图片的示例代码:
```python
import requests
from bs4 import BeautifulSoup
import os
# 网页 URL
url = "https://example.com"
# 下载图片的保存目录
save_directory = "/path/to/save/directory"
# 发起 GET 请求获取网页内容
response = requests.get(url)
# 使用 BeautifulSoup 解析网页内容
soup = BeautifulSoup(response.text, "html.parser")
# 找到所有的图片标签
img_tags = soup.find_all("img")
# 遍历所有图片标签
for img in img_tags:
# 获取图片 URL
img_url = img["src"]
# 构造图片的完整 URL
if not img_url.startswith("http"):
img_url = url + img_url
# 发起 GET 请求下载图片
img_response = requests.get(img_url)
# 提取图片文件名
img_filename = img_url.split("/")[-1]
# 保存图片到本地
with open(os.path.join(save_directory, img_filename), "wb") as f:
f.write(img_response.content)
print("成功下载图片:" + img_filename)
```
在上面的代码中,我们使用了第三方库requests来发起HTTP请求,使用BeautifulSoup来解析网页内容。我们首先指定了要爬取的网页URL和保存图片的目录,然后发起GET请求获取网页内容,使用BeautifulSoup解析网页,找到所有的图片标签,并遍历每个图片标签。对于每个图片标签,我们获取图片的URL,下载图片,并将其保存到指定的目录中。最后,我们打印成功下载的图片文件名。
要使用这个代码,需要先安装requests和beautifulsoup4库,可以使用以下命令在Ubuntu 20.04上安装:
```bash
$ pip install requests beautifulsoup4
```
请注意,这只是示例代码,实际使用时需要适当处理异常和错误,并根据需要进行适当的优化和延迟策略。
### 回答3:
以下是使用Python 3.8编写的自动爬取网页图片的代码:
```python
import requests
from bs4 import BeautifulSoup
import os
def download_images(url, save_folder):
# 发送网页请求获取页面内容
response = requests.get(url)
# 使用BeautifulSoup解析网页内容
soup = BeautifulSoup(response.text, 'html.parser')
# 创建保存图片的文件夹
if not os.path.exists(save_folder):
os.makedirs(save_folder)
# 获取所有的图片URL
image_tags = soup.find_all('img')
for img_tag in image_tags:
image_url = img_tag['src']
# 下载图片并保存到指定文件夹
response = requests.get(image_url)
image_name = os.path.join(save_folder, os.path.basename(image_url))
with open(image_name, 'wb') as f:
f.write(response.content)
print(f"成功下载图片: {image_name}")
if __name__ == "__main__":
url = "https://example.com" # 替换为你要爬取的网页链接
save_folder = "images" # 替换为保存图片的文件夹
download_images(url, save_folder)
```
以上代码使用了`requests`库发送网页请求,并使用`BeautifulSoup`库解析网页内容。它首先创建一个用于保存图片的文件夹,然后查找网页中的所有图片URL,并将其下载保存在指定的文件夹中。你需要将代码中的`url`替换为你要爬取的网页链接,同时将`save_folder`替换为你希望保存图片的文件夹名称。
阅读全文