当前位置: 首页> 科技> 互联网 > python-爬虫实例(3):获取豆瓣小说分类界面的图片信息

python-爬虫实例(3):获取豆瓣小说分类界面的图片信息

时间:2025/9/13 3:33:32来源:https://blog.csdn.net/weixin_65047977/article/details/140617593 浏览次数:2次

目录

前言

        道路千万条,安全第一条

        爬虫不谨慎,亲人两行泪

获取豆瓣小说分类界面的图片信息

一、话不多说,浇给

二、爬虫四步走

1.UA伪装

2.获取url

3.发送请求

4.获取响应数据进行解析并保存


前言

        道路千万条,安全第一条

        爬虫不谨慎,亲人两行泪

 

获取豆瓣小说分类界面的图片信息

        上一篇我们说了怎么去获取该界面的文本信息,

python-爬虫实例(2):获取豆瓣小说分类界面的文本信息-CSDN博客

        今天我们来获取它的图片信息。

 

一、话不多说,浇给

import requests
import fake_useragent
from lxml import etree
import os.pathhead = {"User-Agent": fake_useragent.UserAgent().random
}pic_name = 0def tu():for j in range(0, 100, 20):url = f"https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4?start={j}&type=T"response = requests.get(url, headers=head)douban_text = response.texttree = etree.HTML(douban_text)li_novel = tree.xpath("//ul[@class='subject-list']/li")  # 获取所有ul标签下的li标签内容for i in li_novel:  # 遍历所获取的所有li标签url_img = "".join(i.xpath("div[1]/a/img/@src"))       # 获取图片的url,再次进行爬取操作img_response = requests.get(url_img, headers=head)img_content = img_response.contentglobal pic_namewith open(f"./public/{pic_name}.jpg", "wb") as fp:fp.write(img_content)pic_name += 1if __name__ == '__main__':if not os.path.exists("./public"):os.mkdir("./public")tu()pass

输出:会将获取到的图片放进文件夹中

 

二、爬虫四步走

1.UA伪装

        还是用上次的随机生成伪装,大部分情况下都可以使用这个方法

import requests
import fake_useragent
from lxml import etree
import os.pathhead = {"User-Agent": fake_useragent.UserAgent().random
}

 

2.获取url

        在该界面按f12进入检查界面,若是检查界面没东西的话就刷新网页,然后往上翻到第一个,复制url粘贴到pycharm即可

 

3.发送请求

        流水的url,铁打的发送请求。

 response = requests.get(url, headers=head)

 

4.获取响应数据进行解析并保存

        上一篇文章讲过了用,etree.HTML解析网页,再用xpath获取标签内容。本次使用的也是这个方法

        右击书的封面图片即可找到所在标签,如图      

 

  • 就可以通过循环ul标签下的li标签去获取每一本书的图片
  • 而这个图片其实也是一个网页url,因为点击图片链接就会跳转到那张图片,
  • 那么我们就可以对图片再次进行请求和获取操作
  • 在这里略有不同的是,图片,音频之类的信息使用二进制数据保存的,所以这里使用.content的方法去解析数据。
  • 因为每一个图片都是一个单独的文件,所以这里使用with open去储存图片,pic_name用来给图片命名。
pic_name = 0def tu():for j in range(0, 100, 20):url = f"https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4?start={j}&type=T"response = requests.get(url, headers=head)douban_text = response.texttree = etree.HTML(douban_text)li_novel = tree.xpath("//ul[@class='subject-list']/li")  # 获取所有ul标签下的li标签内容for i in li_novel:  # 遍历所获取的所有li标签url_img = "".join(i.xpath("div[1]/a/img/@src"))       # 获取图片的url,再次进行爬取操作img_response = requests.get(url_img, headers=head)img_content = img_response.contentglobal pic_namewith open(f"./public/{pic_name}.jpg", "wb") as fp:fp.write(img_content)pic_name += 1

 

         最后,创建个新的文件夹去保存获取到的所有图片。

if __name__ == '__main__':#如果当前工作目录下不存在名为public的文件夹,则创建一个新的public文件夹。if not os.path.exists("./public"):   os.mkdir("./public")tu()pass
关键字:python-爬虫实例(3):获取豆瓣小说分类界面的图片信息

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: