源码
import os
import json
import time
from lxml import etree
import random
import requests
import win32api
import win32con
import win32gui
from PIL import Image, ImageFilter
from pystray import Icon as icon, Menu as menu, MenuItem as item
SOURCE_PATH = 'D:/private/bg/bg-source/'
GS_PATH = 'D:/private/bg/bg-gs/'
class SpiderBg:
"""爬取网络图片并保存"""
def __init__(self):
self.__headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/"
"537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"}
def __spider(self, url):
try:
r = requests.get(url, headers=self.__headers, timeout=5)
return r
except requests.exceptions.ConnectTimeout as e:
print('请求超时!!!')
return False
except Exception as e:
print(e)
return False
def bg_all(self, url):
print('正在通用解析(不含html标签)!!!')
res = self.__spider(url)
if res:
img_name = time.time()
filename = self.save_img(img_name, res)
return filename
else:
return False
def bg_html_all(self, url):
print('正在使用通用解析(包含html标签)!!!')
res = self.__spider(url)
if res:
html = etree.HTML(res.content.decode())
img_url = html.xpath('//img/@src')[0]
img_name = img_url.split('/')[-1]
filename = self.save_img(img_name, self.__spider(img_url))
return filename
else:
return False
def bg_360(self):
print('正在使用360解析!!!')
url = 'https://api.iyk0.com/360bz/?type=13'
res = self.__spider(url)
if res: