python 多线程爬取壁纸网站的示例


Posted in Python onFebruary 20, 2021

基本开发环境

· Python 3.6

· Pycharm

需要导入的库

python 多线程爬取壁纸网站的示例

目标网页分析

python 多线程爬取壁纸网站的示例

网站是静态网站,没有加密,可以直接爬取

python 多线程爬取壁纸网站的示例

python 多线程爬取壁纸网站的示例

python 多线程爬取壁纸网站的示例

整体思路:

1、先在列表页面获取每张壁纸的详情页地址

2、在壁纸详情页面获取壁纸真实高清url地址

3、保存地址

代码实现

模拟浏览器请请求网页,获取网页数据

 python 多线程爬取壁纸网站的示例

这里只选择爬取前10页的数据

代码如下

import threading
import parsel
import requests

def get_html(html_url):
 '''
 获取网页源代码
 :param html_url: 网页url
 :return:
 '''
 response = requests.get(url=html_url, headers=headers)
 return response


def get_par(html_data):
 '''
 把 response.text 转换成 selector 对象 解析提取数据
 :param html_data: response.text
 :return: selector 对象
 '''
 selector = parsel.Selector(html_data)
 return selector

def download(img_url, title):
 '''
 保存数据
 :param img_url: 图片地址
 :param title: 图片标题
 :return:
 '''
 content = get_html(img_url).content
 path = '壁纸\\' + title + '.jpg'
 with open(path, mode='wb') as f:
  f.write(content)
  print('正在保存', title)

def main(url):
 '''
 主函数
 :param url: 列表页面 url
 :return:
 '''
 html_data = get_html(url).text
 selector = get_par(html_data)
 lis = selector.css('.wb_listbox div dl dd a::attr(href)').getall()
 for li in lis:
  img_data = get_html(li).text
  img_selector = get_par(img_data)
  img_url = img_selector.css('.wb_showpic_main img::attr(src)').get()
  title = img_selector.css('.wb_pictitle::text').get().strip()
  download(img_url, title)
 end_time = time.time() - s_time
 print(end_time)

if __name__ == '__main__':
 for page in range(1, 11):
  url = 'http://www.deskbizhi.com/min/list-{}.html'.format(page)
  main_thread = threading.Thread(target=main, args=(url,))
  main_thread.start()

以上就是python 多线程爬取壁纸网站的示例的详细内容,更多关于python 爬取壁纸网站的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python多进程通信Queue、Pipe、Value、Array实例
Nov 21 Python
Python 网络爬虫--关于简单的模拟登录实例讲解
Jun 01 Python
python3 实现验证码图片切割的方法
Dec 07 Python
Django框架模板注入操作示例【变量传递到模板】
Dec 19 Python
如何在django里上传csv文件并进行入库处理的方法
Jan 02 Python
python pytest进阶之xunit fixture详解
Jun 27 Python
使用selenium和pyquery爬取京东商品列表过程解析
Aug 15 Python
解决tensorflow添加ptb库的问题
Feb 10 Python
Python类中self参数用法详解
Feb 13 Python
Python分析微信好友性别比例和省份城市分布比例的方法示例【基于itchat模块】
May 29 Python
python 常见的排序算法实现汇总
Aug 21 Python
Python的collections模块真的很好用
Mar 01 Python
python 制作网站小说下载器
Feb 20 #Python
如何用python爬取微博热搜数据并保存
Feb 20 #Python
python 统计list中各个元素出现的次数的几种方法
Feb 20 #Python
pandas统计重复值次数的方法实现
Feb 20 #Python
pandas 按日期范围筛选数据的实现
Feb 20 #Python
基于Python-Pycharm实现的猴子摘桃小游戏(源代码)
Feb 20 #Python
pandas按条件筛选数据的实现
Feb 20 #Python
You might like
PHP中输出转义JavaScript代码的实现代码
2011/04/22 PHP
jquery 弹出层注册页面等(asp.net后台)
2010/06/17 Javascript
asp.net网站开发中用jquery实现滚动浏览器滚动条加载数据(类似于腾讯微博)
2012/03/14 Javascript
jQuery循环滚动展示代码 可应用到文字和图片上
2012/05/11 Javascript
js判断字符长度以及中英文数字等
2013/12/31 Javascript
js正则匹配出所有图片及图片地址src的方法
2015/06/08 Javascript
javascript实现控制div颜色
2015/07/07 Javascript
静态页面html中跳转传值的JS处理技巧
2016/06/22 Javascript
详解jquery easyui之datagrid使用参考
2016/12/05 Javascript
js实现百度登录框鼠标拖拽效果
2017/03/07 Javascript
webpack配置文件和常用配置项介绍
2017/04/28 Javascript
简单实现jQuery弹窗效果
2017/10/30 jQuery
实例详解vue中的$root和$parent
2019/04/29 Javascript
JavaScript前端开发时数值运算的小技巧
2020/07/28 Javascript
Openlayers实现测量功能
2020/09/25 Javascript
[01:08]2014DOTA2展望TI 剑指西雅图LGD战队专访
2014/06/30 DOTA
Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法
2015/05/16 Python
Python将多份excel表格整理成一份表格
2018/01/03 Python
Python图像处理之颜色的定义与使用分析
2019/01/03 Python
python实现弹窗祝福效果
2019/04/07 Python
python爬取百度贴吧前1000页内容(requests库面向对象思想实现)
2019/08/10 Python
python对文件的操作方法汇总
2020/02/28 Python
Python调用shell cmd方法代码示例解析
2020/06/18 Python
Python使用正则表达式实现爬虫数据抽取
2020/08/17 Python
html5指南-1.html5全局属性(html5 global attributes)深入理解
2013/01/07 HTML / CSS
深入探究HTML5的History API
2015/07/09 HTML / CSS
英国家居用品和家居装饰品购物网站:Cox & Cox
2019/08/25 全球购物
技术副厂长岗位职责
2013/12/26 职场文书
教师岗位职责范本
2013/12/29 职场文书
模具数控专业自荐信
2014/01/27 职场文书
党的群众路线教育实践活动方案
2014/10/31 职场文书
学校通报表扬范文
2015/05/04 职场文书
民间借贷借条如何写
2015/05/26 职场文书
2019年学校消防安全责任书(2篇)
2019/10/09 职场文书
pytorch训练神经网络爆内存的解决方案
2021/05/22 Python
Python MNIST手写体识别详解与试练
2021/11/07 Python