Python爬虫——用Pycharm写一个爬虫程序,爬取糗图百科全部糗图,室友看了直呼牛逼

一、 前言

随着计算机技术的快速发展,数据量变得越来越大,而python作为数据分析强有力的工具,在数据分析方面很有优势,其强大的第三方库提供了很多强大的功能。我们只有先将数据爬取出来,才能进行数据分析。下面我就来介绍一下如何爬取糗图百科全部的糗图。

二、 源码
import requests
import re
import os
import time


def main():
    # 响应头信息,进行UA伪装
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '
                      'AppleWebKit/537.36 (KHTML, like Gecko) '
                      'Chrome/96.0.4664.45 Safari/537.36'
    }
    param = {
        '2670efbdd59c7e3ed3749b458cafaa37': ''
    }
    # 空列表 存放解析出来的正则表达式(图片的url)
    response_url = []
    response_url_all = []
    # 正则表达式 获取所有图片的链接地址
    ex = '<div class="thumb">.*?<img src="(.*?)" alt'
    # 获取整个页面的网页信息,以便对网页信息进行分析和数据存储
    # 通过分析发现共有14页页面
    for k in range(1, 14):
        url = 'https://www.qiushibaike.com/imgrank/page/' + str(k) + '/'
        response_text = requests.get(url=url, params=param).text
        response_url = re.findall(ex, response_text, re.S)
        for items in response_url:
            items = 'https:' + items
            response_url_all.append(items)
            # 已经获取所有的图片的url,存放在一个列表 response_url_all 中
    # print(response_url_all)
    # 新建一个image文件夹,存放爬取到的图片的数据
    if not os.path.exists('image'):
        os.mkdir('image')
    
    for items_image in response_url_all:
        # 首先将爬取的字符串数据拼接成一个完整的网址,便于数据抓取
        image_name = items_image.split('/')[-1]
        # 获取二进制图片数据
        items_date = requests.get(url=items_image, headers=headers).content
        # 保存图片
        with open('image/' + image_name, 'wb') as fp:
            fp.write(items_date)
        print(image_name, '下载成功!!!')


if __name__ == '__main__':
    main()
三、 爬取步骤
  1. 我所使用的集成开发环境是Pycharm,首先新建一个.py文件,拥有编写代码:鼠标右键点击你的项目名称,然后new,python file ,输入自己的.py文件的名字,我的文件名字为Regular_expression_01,系统会自动加上.py 后缀。

  1. 编写代码,代码已经在上面,同行可自取。

  2. 在爬虫之前,我们需要对页面进行分析,进入糗图百科,点击热图,我们会发现这里面有我们所需要爬取的糗图。

  1. 接下来我们对网页进行分析,浏览器单击鼠标右键,点击“检查”,点击"network",再刷新页面

会出现下面的页面:

在这里插入图片描述

  1. 接下来我们对图片地址进行分析,我们翻到第二页,看网址,发现https://www.qiushibaike.com/imgrank/page/是不变的,而后面会加个 “页数/”

  1. 于是我们的url便可以使用如下语句写了:

这便是我们所有的网址啦,接下来就是分析每一页网页上图片的数据了

按照顺序点击:

7. 点击Headers,进入头部信息,往下拉,找到User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36这一行,这便是浏览器发给服务器的头信息,爬虫的时候需要用到。

  1. 我们再进入Elements,对网站的信息进行分析,找到图片的路径,以便爬取网站信息:


9. 我们发现,所有的图片都在class = "thumb"标签下面的img标签里,有了这个信息,就可以用正则表达式提取图片的链接了! 正则表达式见源码!

  1. 接下来就是写程序了!程序就在源码里了,需要自取哦。
四、 总结

python爬虫是非常常见的数据抓取工具,用Python能够很快地爬取我们需要的数据。

五、 写在最后

作为一名新手,写的文章不好,希望大家能够多多批评指正,我将不胜感激。希望大家多多支持我哦,我会努力提高自己的编程能力,给大家奉上更加优质的内容。谢谢大家!

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,Python自动化测试学习等教程。带你从零基础系统性的学好Python!

👉[[优快云大礼包:《python安装包&全套学习资料》免费分享]]安全链接,放心点击

在这里插入图片描述

一、Python大礼包

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、 Python电子书

在这里插入图片描述

三、入门学习视频

四、 Python爬虫秘笈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

五、 数据分析全套资源

在这里插入图片描述

六、python副业兼职与全职路线

在这里插入图片描述
上述这份完整版的Python全套学习资料已经上传优快云官方,如果需要可以微信扫描下方优快云官方认证二维码 即可领取

👉[[优快云大礼包:《python安装包&全套学习资料》免费分享]]安全链接,放心点击

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值