由于涉及到网站爬取和数据存储等操作,需要使用Python编写爬虫程序和数据库操作代码。

  1. 爬取图片链接

首先,需要使用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)

解析网页内容后,可以找到所有的图片链接,将其存储起来。

  1. 下载图片并存储到本地

接下来,需要使用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)
  1. 存储到数据库

最后,需要使用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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录