第一个python网络爬虫-爬取图片

第一个python网络爬虫-爬取图片

写爬虫这个东东,大家互相学习共勉。
这次我们要爬取图片,首先要找到一个图片网页,查看网页源代码,虽然我们不学前端但是前端代码可以了解一下。首先要找到第一张图片的地址,比如这个https://qq.yh31.com/tp/Photo7/ZJBQ/20099/200909291701134159.gif
这是第二张图片地址:
https://qq.yh31.com/tp/Photo7/ZJBQ/20099/200909291701136061.gif
你会发现图片地址的规律前面的网址位置一样,后面的变化,我们可以使用python自带库re中的.?这几个符号自动匹配不一样的地方。其中.?表示匹配任意数量不换行字符。
第一步:我们需要先匹配网址,导入第三方库导入这些库都可以用之前学的import这个函数第三方库需要下载,我使用的是python编辑器是pycharm可以直接在file-settings中
这个加号这里点开
直接搜索requests这个第三方库直接下载调用就ok;
然后就需要找到需要爬取图片的地址 、;
第二步请求下载图片,可以先打开一个空的文件夹然后用with函数中open打开然后使用write函数写入,由于前面我们访问的图片地址是这样tp/Photo7/ZJBQ/20099/200909291701134159.gif所以我们要将完整的地址拼接起来。
讲解的不是太详细一般学过一点python的应该看的差不多下面是源码。大家可以看一下一下大佬的博客互相印证。

#导入第三方库
import requests
import re
def get_urls():
    #请求目标网址
    response = requests.get('https://qq.yh31.com/zjbq/2920180.html')
    #匹配不同图片地址 .*?表示匹配任意数量不换行字符
    #<img border = "0" alt = "" src = "/tp/Photo7/ZJBQ/20099/200909291701134159.gif"
    url_add = r'<img border="0" .*? src="(.*?)"'
    # 找到所有要爬取图片的地址
    url_list = re.findall(url_add,response.text)
    #print(url_list)
    return url_li4st
#拼接完整网址下载数据
def get_gif(url,name):
    # 2.1请求要下载图片的uel
    response = requests.get(url)
    #下载图片到D:\python_yu\photo
    with open('D:\python_yu\photo\%d.gif'%name,'wb')as f:
        f.write(response.content)


if __name__ == '__main__':
    url_list = get_urls()
    a = 1
    for url in url_list:
        com_url='https://qq.yh31.com'+url
        get_gif(com_url, a)
        a =a+1
        #2.2调用get_gif(url)实现数据之间的传递

        print(com_url)

这是爬取成功的效果
爬取的图片地址
打开文件夹可以看见图片

猜你喜欢

转载自blog.csdn.net/Lucifer_min/article/details/104169381