Python20行代码爬取搞笑图片—拯救你的不开心

毫无套路的爬虫,东半球最简单的python爬虫代码

代码如下:

import requests
import lxml
from bs4  import BeautifulSoup

"""
整体思路
1.伪装浏览器构造请求,获取网页内容即HTML源码
2.使用美味汤的强大功能获取图片链接
3.使用文件处理的基本操作将图片下载到本地
"""


count  = 1  #用于记录图片个数
def getResponse(page):  #获取指定URL网页内容
    url = "https://www.qiushibaike.com/imgrank/page/{}/".format(page)
    headers = {
     "Mozilla":"/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36"}
    #模拟浏览器向服务器发送请求
    response  =requests.get(url,headers).text    #获取网页HTML源码,需进行格式转换
    return response


def getLink(page):  #获取图片链接
    response = getResponse(page)
    soup = BeautifulSoup(response,'lxml')  #创建美味汤对象
    for div in soup.find_all('div',class_="thumb"):
        for img_tag in div.find_all('img'):
    # print(img_tag.get('src'))
    # #可能由于糗事百科网站具有发怕机制,我们得到的图片链接并不是有效地址,需加上响应协议
            img_url = "http:"+img_tag.get('src')
            saveImg(img_url)




def saveImg(img_url):
    global count
    response = requests.get(img_url)
    with open ("./搞笑图片/{}.jpg".format(count),'ab')  as f:  #要先创建文件夹才能将图片写入文件夹,我创建在当前目录下
        f.write(response.content)
        count+=1






if __name__ == "__main__":
    for page in range(1,6): #我们先爬取前五页的图片,可根据不开心程度调整爬取页数!!!
        getLink(page)




## 感觉写的还不错的小伙伴点个赞再走吧,

运行结果如下:Python20行代码爬取搞笑图片—拯救你的不开心_第1张图片
主页还有关于这篇文章的视频,感兴趣的小伙伴可以看一看

这篇文章的内容可能会有一些不足之处,希望大家在评论区多多提出意见,我也会积极改正的,以后我会经常记录自己在实验室打比赛的经历,空闲的时候还会更新一些有趣的算法题(由于不是专业打ACM的,太难的我也不会哈哈哈),如果觉得写得还不错的话,请点个赞吧!谢谢鼓励!

Python20行代码爬取搞笑图片—拯救你的不开心_第2张图片

你可能感兴趣的:(数据挖掘,算法,python,html)