评论
Python爬虫学习——彼岸桌面2K动漫壁纸脚本下载

Python爬虫学习——彼岸桌面2K动漫壁纸脚本下载

久别重逢、失落重逢、虚惊一场,但没有一个字叫和解,只是有人愿意重蹈覆辙

Python爬虫学习——彼岸桌面2K动漫壁纸脚本下载

接触Python之后发现py的美!简约的思路加上严格的语法要求 让代码阅读起来有序。对于小程序代码命名瞎写的我来说;感觉Py对人世间的美好,人生苦短何必PHP

Python爬虫学习——彼岸桌面2K动漫壁纸脚本下载

星宿小程序下下架到目前为止,这期间基本没有一个学习方向。对于爬虫来说基本也是走个过场深入性不强,壁纸(小说),视频,音乐,某文档走一遍

环境

Pyyhon3.10 官网:http://www.python.org/

requests库清华大学镜像

pip3 install requests -i http://pypi.douban.com/simple/

parsel库

pip3 install parsel -i http://pypi.douban.com/simple/

安装parsel可能需要先安装lxml

pip3 install lxml -i http://pypi.douban.com/simple/

代码


# requests请求
import requests

# parsel解析库
import parsel

# re正则
import re

# 目录地址
url = 'http://www.netbian.com/dongman/index.htm'

# 请求头
headers = {
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.52'
}

# 请求url
getUrl = requests.get(url, headers)

# 解析内容
getUrls = parsel.Selector(getUrl.text)

# 正则解析图片页面地址
href = getUrls.css('#main > div.list > ul > li > a::attr(href)').getall()

# 循环打开页面
for imgs in href:
    # 拼接页面地址
    imgs_url = 'http://www.netbian.com/' + imgs

    # 请求页面地址
    imgs_page = requests.get(imgs_url, headers)

    # 转成解析对象
    imgs_selector = parsel.Selector(imgs_page.text)

    # 获取图片地址
    imgs_jpg = imgs_selector.css('#main > div.endpage > div > p > a > img::attr(src)').get()
    
    # 分割地址 获取名字
    imgs_name = imgs_jpg.split('/')[-1]

    # 图片转二进制
    imgs_coten = requests.get(imgs_jpg).content

    # 保存图片
    with open(f'{imgs_name}', mode='wb') as f:
        f.write(imgs_coten)

    print(imgs_name, '下载成功')

分页

默认的话是下单前页面的彼岸桌面壁纸,我们在页面上选择下一页的时候可以看到结构

Python爬虫学习——彼岸桌面2K动漫壁纸脚本下载

爬虫一个让人轻而易举包吃包住的脚本,所以在分页上尽量不要去选择太大的页码。这边爬前10页为案例,循环分页后在执行 方爬取单页的方式即可


# 引入requests模块
import requests

# url地址
url = 'http://www.netbian.com/dongman/'

# 循环分页
for i in range(1, 11):
    if i == 1:
        urls = url + 'index.htm'
    else:
        urls = url + 'index_' + str(i) + '.htm'
    print(urls)