【酱浦菌-爬虫项目】python爬取彼岸桌面壁纸

  1. 首先,代码导入了两个库:requestsparsel。这些库用于处理HTTP请求和解析HTML内容。

  2. 然后,它定义了一个变量url,指向网站'樱花2024年4月日历风景桌面壁纸_高清2024年4月日历壁纸_彼岸桌面'。

  3. 接下来,设置了一个HTTP请求的头部信息,模拟了一个Chrome浏览器的请求。

  4. 通过requests.get()方法,发送一个GET请求到指定的URL,并将响应内容保存在response变量中。

  5. 使用response.apparent_encoding来设置响应的编码方式。

  6. 创建一个parsel.Selector对象,用于解析HTML内容。

  7. 从HTML中选择所有<li>元素,这些元素包含了图片的信息。

  8. 遍历每个

    复制代码
     <li>

    元素:

    • 提取<b>标签内的文本作为图片的标题。

    • 如果存在标题,提取<img>标签的src属性,即图片的URL。

    • 使用requests.get()方法获取图片的内容。

    • 将图片内容写入到以标题命名的文件中(保存在img文件夹下)。

    • 打印图片的URL和标题。

  9. 最后,输出一条消息表示下载完成。

完整代码如下:

python 复制代码
#http://www.netbian.com/desk/33413.htm
import requests
import parsel
url = 'http://www.netbian.com/desk/33413.htm'
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36'
}
response = requests.get(url=url, headers=headers)
response.encoding = response.apparent_encoding
selector = parsel.Selector(response.text)
lis = selector.css('.list li')
print('====================')
print('开始下载:')
for li in lis:
        title = li.css('b::text').get()
        if title:
            li_url = li.css('img::attr(src)').get()
            img_content = requests.get(url = li_url).content
            with open('img\\' + title + '.jpg', mode = 'wb') as f:
                f.write(img_content)
            print(li_url, title)
print('下载完成!')
print('====================')

运行效果如下:

相关推荐
Highcharts.js2 小时前
倒置百分比堆叠面积图表示列详解|Highcharts大气成分图表代码
开发语言·信息可视化·highcharts·图表开发·面积图·图表示例·推叠图
Li emily2 小时前
解决了加密货币api多币种订阅时的数据乱序问题
人工智能·python·api·fastapi
csdn_aspnet2 小时前
C语言 Lomuto分区算法(Lomuto Partition Algorithm)
c语言·开发语言·算法
晨曦中的暮雨2 小时前
4.15腾讯 CSIG云服务产线 一面
java·开发语言
2301_781571422 小时前
Golang格式化输出占位符都有什么_Golang fmt占位符教程【通俗】
jvm·数据库·python
存在morning2 小时前
【GO语言开发实践】二 GO 并发快速上手
大数据·开发语言·golang
asdzx672 小时前
使用 Python 为 PDF 添加页码 (详细教程)
python·pdf·页码
AI技术控3 小时前
《Transformers are Inherently Succinct》论文解读:从“能表达什么”到“多紧凑地表达”
人工智能·python·深度学习·机器学习·自然语言处理
xiaoerbuyu12334 小时前
开源Java 邮箱 基于SpringBoot+Vue前后端分离的电子邮件
java·开发语言
sparEE5 小时前
c++值类别、右值引用和移动语义
开发语言·c++