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 ...
随机推荐
- PAT L2-004. 这是二叉搜索树吗?【前序遍历转化为后序遍历】
一棵二叉搜索树可被递归地定义为具有下列性质的二叉树:对于任一结点, 其左子树中所有结点的键值小于该结点的键值: 其右子树中所有结点的键值大于等于该结点的键值: 其左右子树都是二叉搜索树. 所谓二叉搜索 ...
- 指纹采集器Live 20R
最近有个项目需要使用指纹采集器Live 20R,买来这个小玩意后不知道怎么用,看了一些教程和自己摸索了一下,才初步掌握了用的方法. 环境: 硬件:联想 小新 操作系统:Win 10 IDE:VS201 ...
- html5 image>usemap (attribute)
# html5 image>usemap (attribute) https://caniuse.com/#search=usemap http://www.w3.org/TR/html5 ...
- free open music API all in one
free open music API all in one music API SoundCloud xgqfrms · free https://w.soundcloud.com/player/? ...
- flutter 1.5 in action
flutter 1.5 in action https://flutter.dev/docs/get-started/flutter-for/react-native-devs https://flu ...
- 科普NGK公链生态板块旗下的BGV、SPC、NGK、USDN四大币种
众所周知,NGK公链所有数据上链.公开透明,NGK公链生态板块目前主要分为四个板块---BGV.SPC.NGK.USDN四大币种,笔者以时间上倒叙手法来一一科普. 首先,是2021新年刚推出的SPC侧 ...
- 基于NGK发行的稳定币USDN如何撼动市场?
近日,基于NGK发行的稳定币USDN在各大社区的热度越来越高,很多人都说USDN将会撼动市场,那么USDN究竟有怎样的优势,能引起这么大的轰动呢?今天我们就一起来分析一下USDN. USDN是基于公链 ...
- Nice!JavaScript基础语法知识都在这儿了
好好学习,天天向上 本文已收录至我的Github仓库DayDayUP:github.com/RobodLee/DayDayUP,欢迎Star 转载请注明出处! 链接:https://blog.csdn ...
- webpack + ts 配置路径别名无死角方法总结
webpack + ts 配置路径别名总结 自我体验加总结:在配置脚手架时,定制别名很有必要,可以使得代码更优雅,可读性更强.但在使用ts的时候,即便项目能够运行,vscode 确时长会提示 can' ...
- 微信小程序(一)-工具创建和结构配置说明 Stable Build
按装前特别说明: windows最好下载32位的,不然用到用到后面就出现"网络连接失败",然后就登录不上去了,打不开编辑器了! 问题 : 微信开发者工具网络连接失败, " ...