python爬取彼岸桌面壁纸

1.目标站点分析:

  进入网站http://www.netbian.com/weimei/index.htm,经过F12分析,图片URL都保存在<img src="http://img.netbian.com/file/newc/e4f018f89fe9f825753866abafee383f.jpg" alt="星空 女孩 观望 唯美夜景壁纸" />

2.选择爬取工具,这里网页比较简单,就采用requests库和正则.

import requests
import os
import re
import time

# 主页网址
main_urls = 'http://www.netbian.com/weimei/index_{}.htm';
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
                  'Chrome/79.0.3945.130 Safari/537.36 '
}
if not os.path.exists("./Images"):  # 如果不存在则在当前目录下创建文件Images用来存放图片
    os.mkdir("./Images")
# 一个以上的字符 非贪婪匹配
# imgs_url = <img src="(.*?)" alt=".*?" />

for i in range(1, 5):
    time.sleep(1)
    if i == 1:#第一页的地址中不带不是index1.html,要进行处理
        main_url = 'http://www.netbian.com/weimei/index.htm'
    else:
        main_url = main_urls.format(i)
    print(main_url + "加载中。。。")
    response = requests.get(main_url, headers=headers)
    # print(response.request.headers)
    html = response.text#获取到网页代码
  #进行正则匹配,(.*?)进行分组获取, .任意字符 *任意多个字符(>=0) ? 取消贪婪模式
    img_Urls = re.findall(r'<img src="(.*?)" alt=".*?">', html)
    # print(img_Urls)
    for url in img_Urls:
        img_name = url.split('/')[-1]  # 文件名 ,对url进行裁剪获取做后的名字,用到负索引,这里表示取最后一个'/'后面的字符串
        # 访问图片所在的url
        response = requests.get(url, headers=headers)
        with open("./Images/{}".format(img_name), "wb") as file:
            file.write(response.content)  # 保存图片

 

posted @ 2020-03-31 21:28  TiSou1  阅读(531)  评论(0)    收藏  举报