import requests as r                                         2 from bs4 import BeautifulSoup
3 import os
4 base_url = "http://www.win4000.com"#站点
5 theme_base_url = "http://www.win4000.com/zt/xiaoqingxin_"
6 #利用列表解析快速生成每页链接列表
7 theme_url_list = [theme_base_url + str(x) + ".html" for x i n range(1,6)]
8
9 #套图链接列表
10 series_url_list = []
11 #获取所有套图链接列表
12 #UA伪装
13 headers = {
14 "User-Agent":"Mozilla/5.0 (X11; Ubuntu; Linux x8 6_64; rv:80.0) Gecko/20100101 Firefox/80.0"
15
16 }
17 def get_series_url_lists(url,headers):
18 resp = r.get(url,headers)
19 if resp is not None:
20 result = resp.text
21 bs = BeautifulSoup(result,"html.parser")
22 ul = bs.find("div",attrs = {"class":"tab_tj"})
23 a_s = ul.find_all("a")
24 for a in a_s:
25 series_url_list.append(a.get("href"))
26
27 #保存文件夹名
28 save_root_dir = os.path.join(os.getcwd(),"tmp/")
29 #获取某个套图里的所有图片
30 def fetch_all_series_pic(url,headers):
31 cur_page = 1
32 while True:
33 current_url = url
34 if cur_page>1:
35 current_url = url.relapce(".html",+"_"+str(cur_ page)+".html")
36 resp = r.get(current_url,headers)
#http请求码错误则退出程序
38 if resp.statu_code == 404:
39 break
40 else:
41 if resp is not None:
42 bs = BeautifulSoup(result,"lxml")
43 #使用lxml获取标题,用作文件夹名称
44 title_name = bs.find("div",attrs = {"cl ass":"ptitle"}).h1.text
45 save_dir = os.path.join(save_root_dir,t itle_name)
46 if not os.path.exists(save_dir):
47 os.makedirs(save_dir)
48 #使用CCS选择器选择图片节点
49 imgs = bs.select("img.pic-large")
50 for img in imgs:
51 download_pic(img.attrs.get("src"),s ave_dir)
52 cur_page+=1
53 #下载图片的方法
54 def download_pic(url,path):
55 print("下载图片:" + url)
56 try:
57 #就是通过义/为分割符,形成一个字符串列表并且取列表> 的最后一个元素
58 pic_name = url.split("/")[-1]
59 #.content返回的是二进制文件
60 #.text返回的是Unicode(str)数据
61 #图片为二进制文件
62 img_resp = r.get(url).content
63 with open(path +"/"+pic_name,"wb+") as f:
64 f.write(img_resp)
65 except Exception as reason:
66 print(str(reason)) 68 if __name__ == "__main__":
69 for url in theme_url_list:
70 get_series_url_lists(url,headers)
71 for url in series_url_list:
72 fetch_all_series_pic(url,headers)
73

python爬去壁纸网站上的所有壁纸的更多相关文章

  1. python爬取某个网站的图片并保存到本地

    python爬取某个网站的图片并保存到本地 #coding:utf- import urllib import re import sys reload(sys) sys.setdefaultenco ...

  2. python爬虫学习-爬取某个网站上的所有图片

    最近简单地看了下python爬虫的视频.便自己尝试写了下爬虫操作,计划的是把某一个网站上的美女图全给爬下来,不过经过计算,查不多有好几百G的样子,还是算了.就首先下载一点点先看看. 本次爬虫使用的是p ...

  3. python爬去电影天堂恐怖片+游戏

    1.爬去方式python+selenium 2.工作流程 selenium自动输入,自动爬取,建立文件夹,存入磁力链接到记事本 3.贴上代码 #!/usr/bin/Python# -*- coding ...

  4. 利用Python爬取电影网站

    #!/usr/bin/env python #coding = utf-8 ''' 本爬虫是用来爬取6V电影网站上的电影资源的一个小脚本程序,爬取到的电影链接会通过网页的形式显示出来 ''' impo ...

  5. Python爬取mn52网站美女图片以及图片防盗链的解决方法

    防盗链原理 http标准协议中有专门的字段记录referer 一来可以追溯上一个入站地址是什么 二来对于资源文件,可以跟踪到包含显示他的网页地址是什么 因此所有防盗链方法都是基于这个Referer字段 ...

  6. 用Python爬取斗鱼网站的一个小案例

    思路解析: 1.我们需要明确爬取数据的目的:为了按热度查看主播的在线观看人数 2.浏览网页源代码,查看我们需要的数据的定位标签 3.在代码中发送一个http请求,获取到网页返回的html(需要注意的是 ...

  7. Python爬取招聘网站数据,给学习、求职一点参考

    1.项目背景 随着科技的飞速发展,数据呈现爆发式的增长,任何人都摆脱不了与数据打交道,社会对于“数据”方面的人才需求也在不断增大.因此了解当下企业究竟需要招聘什么样的人才?需要什么样的技能?不管是对于 ...

  8. python爬取招聘网站数据

    # -*- coding: utf-8 -*- # 爬虫分析 from bs4 import BeautifulSoup from lxml import etree from selenium im ...

  9. python爬取视频网站m3u8视频,下载.ts后缀文件,合并成整视频

    最近发现一些网站,可以解析各大视频网站的vip.仔细想了想,这也算是爬虫呀,爬的是视频数据. 首先选取一个视频网站,我选的是 影视大全 ,然后选择上映不久的电影 “一出好戏” . 分析页面 我用的是c ...

随机推荐

  1. 51nod-1065 最小正子段和 【贪心 + 思维】

    N个整数组成的序列a[1],a[2],a[3],-,a[n],从中选出一个子序列(a[i],a[i+1],-a[j]),使这个子序列的和>0,并且这个和是所有和>0的子序列中最小的. 例如 ...

  2. const,volatile,static,typdef,几个关键字辨析和理解

    1.const类型修饰符 const它限定一个变量初始化后就不允许被改变的修饰符.使用const在一定程度上可以提高程序的安全性和可靠性.它即有预编译命令的优点也有预编译没有的优点.const修饰的变 ...

  3. 使用 Promise 实现请求自动重试

    使用 Promise 实现请求自动重试 "use strict"; /** * * @author xgqfrms * @license MIT * @copyright xgqf ...

  4. Promise nested then execute order All In One

    Promise nested then execute order All In One Promise nested then nested Promise not return new Promi ...

  5. C++ 0LL

    C++ 0LL C plus plus L / l means long LL === long long int countDigitOne(int n) { int countr = 0; for ...

  6. Webpack 4.x 默认支持 ES6 语法

    Webpack 4.x 默认支持 ES6 语法 Q: 为什么 webpack4 默认支持 ES6 语法的压缩? A: terser 里面实现了 ES6 语法的 AST解析. webpack 4 里使用 ...

  7. css3 units & 1 turn

    css3 units & 1 turn One full circle is 1turn, 180deg === 0.5turn degrees, gradians, radians, tur ...

  8. 「NGK每日快讯」2021.1.14日NGK公链第72期官方快讯!

  9. golang官方嵌入文件到可执行程序

    目录 前言 示例程序 嵌入文件直接访问 嵌入文件列表 总结 前言 在go官方出嵌入文件的方法前我在网上找过,并且自己还研究过,虽然没有问题,但是既然官方支持还是用起来吧. 看了下go源码embed/e ...

  10. STM32之SPI通信

    SPI总线简介 >SPI总线介绍 SPI接口是Motorola首先提出的全双工三线同步串行外围接口,采用主从模式(Master Slave)架构:支持多slave模式应用,一般仅支持单Maste ...