python爬去壁纸网站上的所有壁纸
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爬去壁纸网站上的所有壁纸的更多相关文章
- python爬取某个网站的图片并保存到本地
python爬取某个网站的图片并保存到本地 #coding:utf- import urllib import re import sys reload(sys) sys.setdefaultenco ...
- python爬虫学习-爬取某个网站上的所有图片
最近简单地看了下python爬虫的视频.便自己尝试写了下爬虫操作,计划的是把某一个网站上的美女图全给爬下来,不过经过计算,查不多有好几百G的样子,还是算了.就首先下载一点点先看看. 本次爬虫使用的是p ...
- python爬去电影天堂恐怖片+游戏
1.爬去方式python+selenium 2.工作流程 selenium自动输入,自动爬取,建立文件夹,存入磁力链接到记事本 3.贴上代码 #!/usr/bin/Python# -*- coding ...
- 利用Python爬取电影网站
#!/usr/bin/env python #coding = utf-8 ''' 本爬虫是用来爬取6V电影网站上的电影资源的一个小脚本程序,爬取到的电影链接会通过网页的形式显示出来 ''' impo ...
- Python爬取mn52网站美女图片以及图片防盗链的解决方法
防盗链原理 http标准协议中有专门的字段记录referer 一来可以追溯上一个入站地址是什么 二来对于资源文件,可以跟踪到包含显示他的网页地址是什么 因此所有防盗链方法都是基于这个Referer字段 ...
- 用Python爬取斗鱼网站的一个小案例
思路解析: 1.我们需要明确爬取数据的目的:为了按热度查看主播的在线观看人数 2.浏览网页源代码,查看我们需要的数据的定位标签 3.在代码中发送一个http请求,获取到网页返回的html(需要注意的是 ...
- Python爬取招聘网站数据,给学习、求职一点参考
1.项目背景 随着科技的飞速发展,数据呈现爆发式的增长,任何人都摆脱不了与数据打交道,社会对于“数据”方面的人才需求也在不断增大.因此了解当下企业究竟需要招聘什么样的人才?需要什么样的技能?不管是对于 ...
- python爬取招聘网站数据
# -*- coding: utf-8 -*- # 爬虫分析 from bs4 import BeautifulSoup from lxml import etree from selenium im ...
- python爬取视频网站m3u8视频,下载.ts后缀文件,合并成整视频
最近发现一些网站,可以解析各大视频网站的vip.仔细想了想,这也算是爬虫呀,爬的是视频数据. 首先选取一个视频网站,我选的是 影视大全 ,然后选择上映不久的电影 “一出好戏” . 分析页面 我用的是c ...
随机推荐
- 51nod-1065 最小正子段和 【贪心 + 思维】
N个整数组成的序列a[1],a[2],a[3],-,a[n],从中选出一个子序列(a[i],a[i+1],-a[j]),使这个子序列的和>0,并且这个和是所有和>0的子序列中最小的. 例如 ...
- const,volatile,static,typdef,几个关键字辨析和理解
1.const类型修饰符 const它限定一个变量初始化后就不允许被改变的修饰符.使用const在一定程度上可以提高程序的安全性和可靠性.它即有预编译命令的优点也有预编译没有的优点.const修饰的变 ...
- 使用 Promise 实现请求自动重试
使用 Promise 实现请求自动重试 "use strict"; /** * * @author xgqfrms * @license MIT * @copyright xgqf ...
- 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 ...
- C++ 0LL
C++ 0LL C plus plus L / l means long LL === long long int countDigitOne(int n) { int countr = 0; for ...
- Webpack 4.x 默认支持 ES6 语法
Webpack 4.x 默认支持 ES6 语法 Q: 为什么 webpack4 默认支持 ES6 语法的压缩? A: terser 里面实现了 ES6 语法的 AST解析. webpack 4 里使用 ...
- css3 units & 1 turn
css3 units & 1 turn One full circle is 1turn, 180deg === 0.5turn degrees, gradians, radians, tur ...
- 「NGK每日快讯」2021.1.14日NGK公链第72期官方快讯!
- golang官方嵌入文件到可执行程序
目录 前言 示例程序 嵌入文件直接访问 嵌入文件列表 总结 前言 在go官方出嵌入文件的方法前我在网上找过,并且自己还研究过,虽然没有问题,但是既然官方支持还是用起来吧. 看了下go源码embed/e ...
- STM32之SPI通信
SPI总线简介 >SPI总线介绍 SPI接口是Motorola首先提出的全双工三线同步串行外围接口,采用主从模式(Master Slave)架构:支持多slave模式应用,一般仅支持单Maste ...