要使用Python爬取网站的照片,通常可以分为以下几个步骤:
导入必要的库:使用Python爬取网站需要使用一些库,比如requests、beautifulsoup4、urllib等。你需要先导入这些库。
发送请求获取页面内容:使用requests库发送HTTP请求获取网站的HTML内容。如果需要登录才能
访问网站,则需要在请求头中添加相应的登录信息。
解析HTML内容:使用beautifulsoup4库解析HTML内容,找到需要的图片所在的标签。
获取图片链接:根据HTML标签中的属性,获取图片的链接。
下载图片:使用urllib库下载图片并保存到本地文件。
所需要的python库
requests:用于发起 HTTP 请求,获取网页内容或下载图片等数据。
BeautifulSoup:用于解析 HTML 页面,方便从页面中获取需要的数据。
你可以通过 pip 工具来安装这些库。在终端或命令行中输入以下命令即可:
pip install requests beautifulsoup4
这将会自动安装最新版本的 requests 和 BeautifulSoup 库。如果你已经安装过这些库,可以通过以下命令来升级它们:
pip install --upgrade requests beautifulsoup4
需要注意的是,在使用这些库之前,你需要先导入它们。在 Python 脚本中,你可以通过以下语句导入这些库:
import requests
from bs4 import BeautifulSoup
如果你还没有安装这些库,你可以在安装后添加这些导入语句到你的 Python 脚本中。
例子:
假如我们要爬取这个网站https://www.huya.com/g/2168
下面是爬取代码,仅供学习参考,如有侵权,请告知。
import requests
from bs4 import BeautifulSoup
import os
url = 'https://www.huya.com/g/2168'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
for img in soup.find_all('img'):
img_url = img.get('data-original')
if img_url and 'blur' in img_url:
img_url = img_url.split('?')[0]
img_url = img_url.replace('/0/', '/').replace('/1/', '/')
response = requests.get(img_url)
file_name = os.path.join('E:/MM', img_url.split('/')[-1])
with open(file_name, 'wb') as f:
f.write(response.content)
其中
url = 'https://www.huya.com/g/2168'中是https://www.huya.com/g/2168爬取的网址,
file_name = os.path.join('E:/MM', img_url.split('/')[-1])中E:/MM是本地存储位置,
注意本地得有创建的存储位置,如E:/MM。
上面这是爬取的照片,代码仅供学习使用,如有侵权及违法行为将会追及相应法律责任。