爬取搜图神器里的火影忍者的2k电脑壁纸全部存入数据库中数据库的字段名是序号图片。搜图神器网址是httpsoutushenqicomimagesearchsearchWord=E781ABE5BDB1E5BF8DE88085
由于涉及到网站爬取和数据存储等操作,需要使用Python编写爬虫程序和数据库操作代码。
- 爬取图片链接
首先,需要使用Python的requests和BeautifulSoup库来模拟浏览器发送请求和解析网页内容。具体的爬虫代码如下:
import requests
from bs4 import BeautifulSoup
url = 'http://soutushenqi.com/image/search?searchWord=%E7%81%AB%E5%BD%B1%E5%BF%8D%E8%80%85'
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)
soup = BeautifulSoup(response.text, 'html.parser')
img_list = soup.find_all('img', class_="lazyload")
for i in range(len(img_list)):
img_url = img_list[i]['data-original']
print(i+1, img_url)
解析网页内容后,可以找到所有的图片链接,将其存储起来。
- 下载图片并存储到本地
接下来,需要使用Python的urllib库来下载图片,并将其保存到本地。
import urllib.request
for i in range(len(img_list)):
img_url = img_list[i]['data-original']
filename = str(i+1) + '.jpg'
urllib.request.urlretrieve(img_url, filename)
- 存储到数据库
最后,需要使用Python的sqlite3库来创建数据库和表,并将图片数据插入到表中。
import sqlite3
conn = sqlite3.connect('images.db')
c = conn.cursor()
c.execute('''CREATE TABLE images
(id INTEGER PRIMARY KEY, filename TEXT)''')
for i in range(len(img_list)):
filename = str(i+1) + '.jpg'
c.execute("INSERT INTO images (id, filename) VALUES (?, ?)", (i+1, filename))
conn.commit()
conn.close()
将以上三段代码合并起来,就可以完整地实现爬取搜图神器里的火影忍者的2k电脑壁纸全部存入数据库中的功能了
原文地址: http://www.cveoy.top/t/topic/gT7N 著作权归作者所有。请勿转载和采集!