python爬虫要怎么图片的url
时间: 2024-02-05 16:24:02 浏览: 24
要爬取网页中的图片 URL,可以使用 Python 的 requests 库和 BeautifulSoup 库。以下是一个简单的示例代码:
```python
import requests
from bs4 import BeautifulSoup
url = 'https://www.example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# 找到所有的 img 标签
img_tags = soup.find_all('img')
# 遍历每个 img 标签,获取其 src 属性(即图片 URL)
for img in img_tags:
img_url = img.get('src')
print(img_url)
```
注意:该示例代码只适用于静态网页中的图片,对于使用 JavaScript 动态加载的图片,需要使用 Selenium 等工具模拟浏览器行为来获取图片 URL。
相关问题
Python爬虫获取图片
Python爬虫获取图片的基本步骤如下:
1. 导入requests、os、re等模块
2. 使用requests库发送请求获取网页源码
3. 使用re模块或BeautifulSoup库解析网页源码,找到图片链接
4. 使用requests库发送请求获取图片二进制数据
5. 将图片保存到本地文件夹中
以下是一个简单的Python爬虫获取图片的示例代码:
```
import requests
import os
import re
url = 'http://www.example.com' # 网站地址
path = './images' # 图片保存路径
if not os.path.exists(path):
os.makedirs(path)
# 发送请求获取网页源码
response = requests.get(url)
html = response.text
# 使用正则表达式或BeautifulSoup库解析网页源码,找到图片链接
img_urls = re.findall(r'src="(.*?\.(jpg|png))"', html)
# 发送请求获取图片二进制数据,并保存到本地文件夹中
for img_url in img_urls:
img_name = img_url.split('/')[-1]
img_path = os.path.join(path, img_name)
img_response = requests.get(img_url)
with open(img_path, 'wb') as f:
f.write(img_response.content)
print('成功下载图片:', img_name)
```
python爬虫递归爬取url
可以使用递归函数实现,以下是一个示例代码:
```python
import requests
from bs4 import BeautifulSoup
def crawl(url):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
print("正在爬取:", url)
# 在这里可以对页面进行解析,提取信息等操作
for link in soup.find_all('a'):
new_url = link.get('href')
if new_url and new_url.startswith('http'): # 只爬取以http开头的链接
crawl(new_url) # 递归调用
if __name__ == '__main__':
start_url = 'https://www.example.com'
crawl(start_url)
```
注意要加上判断条件,避免爬取到重复的链接或者死循环。另外,爬取网站时需要遵守相关法律法规和网站的规定,不得进行非法爬取或者恶意攻击。