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

356次阅读
没有评论

 一、 前言

        随着计算机技术的快速发展,数据量变得越来越大,而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 后缀。

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

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

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

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

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

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

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

会出现下面的页面:

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

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

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

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

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

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

按照顺序点击: 

Python爬虫——用Pycharm写一个爬虫程序,爬取糗图百科全部糗图,室友看了直呼牛逼       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这一行,这便是浏览器发给服务器的头信息,爬虫的时候需要用到。

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

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

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

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

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

     10. 接下来就是写程序了!程序就在源码里了,需要自取哦。

四、 总结

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

五、 写在最后

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

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:Python教程2022-10-28发表,共计2280字。
新手QQ群:570568346,欢迎进群讨论 Python51学习