python随机爬取wallhaven壁纸url(获取随机图片url)



§01 码清单


class get_random_wallhaven(object):
    
    def __init__(self, url = 'https://wallhaven.cc/random'):
        self.init_url = url
    
    def getHTMLText(self, url):
        import urllib3
        headers = {'User -Agent' : 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3314.0 Safari/537.36 SE 2.X MetaSr 1.0'}
        #proxy ={'http': '58.249.55.222:9797'}   #proxies=proxy  代理
        try:
            urllib3.disable_warnings()
            r = requests.get(url, headers=headers, verify=False)
            r.raise_for_status()   
            r.encoding = r.apparent_encoding
            return r.text
        except:
            return "产生异常"
        
    def getImgPageUrl(self, text):
        url = ''
        soup = BeautifulSoup(text)
        img_a = soup.select('a[class="preview"]')
        for a in list(img_a)[:1]:
            try:
                url = a.attrs['href']
            except:
                pass
        return url
    
    def getImgUrl(self, text):
        url = ''
        soup = BeautifulSoup(text)
        img = soup.select('img[id="wallpaper"]')
        for i in list(img)[:1]:
            try:
                url = i.attrs['src']
            except:
                pass
        return url
        
    
    def ImgUrl(self):
        text = self.getHTMLText(self.init_url)
        url = self.getImgPageUrl(text)
        text = self.getHTMLText(url)
        url = self.getImgUrl(text)
        return url

§02 用方法


一、默认方式

wh = get_random_wallhaven()
txtstr = wh.ImgUrl()

二、修改搜索条件

1、打开网页

https://wallhaven.cc/random
▲ 图1 修改搜索条件说明

2、获取新的url

▲ 图2 新的url

3、使用新的url

url = 'https://wallhaven.cc/search?categories=110&purity=100&ratios=16x9%2C21x9&sorting=random&order=desc'
wh = get_random_wallhaven(url)
txtstr = wh.ImgUrl()

你可能感兴趣的:(python,工具,python,爬虫)