下载高清大图,目标url:http://pngimg.com/,获取全站 PNG 图片的高清大图的url写入本地文件,不需要下载图片,需要统计总的数据数目
时间: 2023-06-03 13:08:04 浏览: 279
好的,我可以帮你实现这个任务。以下是代码示例:
```
import requests
from bs4 import BeautifulSoup
import re
# 目标网站的链接
url = "http://pngimg.com/"
# 发送HTTP请求,并获取响应内容
response = requests.get(url)
# 使用BeautifulSoup解析HTML内容
soup = BeautifulSoup(response.content, 'html.parser')
# 获取所有PNG格式的图片链接,并保存到列表中
links = []
for a in soup.find_all('a', href=True):
if a['href'].endswith('.png'):
links.append(a['href'])
# 统计PNG图片的数量
num_of_png = len(links)
# 将PNG图片的链接写入本地文件
with open('png_links.txt', 'w') as f:
for link in links:
f.write(link + '\n')
print("本站PNG图片数量为:", num_of_png)
print("PNG图片的链接已经写入本地文件'png_links.txt'")
```
请注意,此代码仅适用于非商业用途。如果用于商业用途,请遵守相关法律法规。
相关问题
使用python通过bs4爬取并下载 pngimg.com网站全站的图片
好的,这是一个技术问题,在范围之内。我会尽力帮助您解决这个问题。首先,您需要安装BeautifulSoup和Requests库。然后使用Requests库获取网站的HTML。接下来,您可以使用BeautifulSoup来解析HTML并找到所有的图片链接。最后,使用Requests库再次请求图片链接,并将图片保存到本地。您需要编写一些代码来完成这些步骤,可以参考相关的教程和示例代码。
使用python的bs4爬取并下载 pngimg.com网站的图片
### 回答1:
可以的,你需要用到Python的requests库和BeautifulSoup库,然后找到pngimg.com网站的图片链接,使用requests库下载即可。以下是示例代码:
```python
import requests
from bs4 import BeautifulSoup
url = "https://pngimg.com/" # 网站链接
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
images = soup.find_all("img") # 找到所有图片链接
for image in images:
if ".png" in image.get("src"): # 筛选出png图片链接
img_url = "https:" + image.get("src") # 拼接完整的图片链接
response = requests.get(img_url) # 下载图片
with open(image.get("alt") + ".png", "wb") as f:
f.write(response.content) # 将图片写入文件
```
### 回答2:
使用Python的bs4模块爬取并下载pngimg.com网站的图片可以分为以下几个步骤:
1. 导入必要的模块:首先需要导入requests模块用于发送HTTP请求,以及bs4模块用于解析网页内容。
2. 发送HTTP请求获取网页内容:使用requests模块发送GET请求,获取pngimg.com网站的源代码。
3. 解析网页内容:使用BeautifulSoup类解析网页源代码,定位到图片所在的HTML标签。
4. 下载图片:利用requests模块的get方法获取图片URL,然后使用文件操作相关的模块保存图片到本地。
以下是一个示例代码:
```python
import requests
from bs4 import BeautifulSoup
# 发送HTTP请求获取网页内容
url = "https://pngimg.com/" # pngimg.com网站的URL
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"}
response = requests.get(url, headers=headers)
content = response.text
# 解析网页内容
soup = BeautifulSoup(content, "html.parser")
# 定位到图片所在的HTML标签,如<img>标签
image_tags = soup.find_all("img")
# 下载图片
for img in image_tags:
image_url = img["src"] # 获取图片的URL
image_name = image_url.split("/")[-1] # 获取图片的文件名
image_response = requests.get(image_url) # 发送请求获取图片
with open(image_name, "wb") as f:
f.write(image_response.content) # 将图片写入文件
print("图片下载完成!")
```
请注意,以上代码仅为示例,具体的爬取和下载操作可能需要根据网页结构进行调整。此外,对于一些需要登录或具有反爬机制的网站,可能需要额外的处理才能成功爬取和下载图片。
### 回答3:
首先,我们需要安装bs4库,它是Python的一个库,用于从HTML和XML文件中提取数据。可以使用以下命令进行安装:
```
pip install beautifulsoup4
```
接下来,我们导入所需的库和模块:
```python
import requests
from bs4 import BeautifulSoup
import urllib.request
```
然后,我们定义一个函数来下载图片:
```python
def download_image(url, filename):
try:
urllib.request.urlretrieve(url, filename)
print("图片下载成功: ", filename)
except Exception as e:
print("图片下载失败: ", filename)
print(str(e))
```
我们使用requests库来获取网页的内容,并使用BeautifulSoup库来解析网页。以下是完整的代码:
```python
import requests
from bs4 import BeautifulSoup
import urllib.request
def download_image(url, filename):
try:
urllib.request.urlretrieve(url, filename)
print("图片下载成功: ", filename)
except Exception as e:
print("图片下载失败: ", filename)
print(str(e))
# 使用requests库获取网页内容
url = "https://pngimg.com/"
response = requests.get(url)
content = response.text
# 使用BeautifulSoup解析网页内容
soup = BeautifulSoup(content, 'html.parser')
# 找到所有的图片标签
image_tags = soup.find_all('img')
# 遍历图片标签并下载图片
for image in image_tags:
image_url = image['src']
image_filename = image_url.split('/')[-1]
download_image(image_url, image_filename)
```
这段代码首先使用requests库获取网页的内容,并使用BeautifulSoup库解析网页内容。然后,它找到所有的图片标签,并使用自定义的函数来下载每个图片。图片将以其原始名称保存在当前工作目录中。
请注意,由于某些原因(例如防止未经许可的下载),有些网站可能会禁止或限制爬虫访问其内容。在使用爬虫时,请确保尊重目标网站的规则和政策。
阅读全文