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

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

从星宿小程序下下架到目前为止,这期间基本没有一个学习方向。对于爬虫来说基本也是走个过场深入性不强,壁纸(小说),视频,音乐,某文档走一遍
环境
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, '下载成功')
分页
默认的话是下单前页面的彼岸桌面壁纸,我们在页面上选择下一页的时候可以看到结构

爬虫一个让人轻而易举包吃包住的脚本,所以在分页上尽量不要去选择太大的页码。这边爬前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)