介绍
本篇文章给大家分享的是有关怎么在python中利用多线程爬取网站壁纸,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
python主要用来做什么
python主要应用于:1,网络开发;2、数据科学研究;3,网络爬虫;4、嵌入式应用开发,5日游戏开发;6桌面应用开发。
基本开发环境
·python 3.6
·Pycharm
需要导入的库
目标网页分析
网站是静态网站,没有加密,可以直接爬取
整体思路:
1,先在列表页面获取每张壁纸的详情页地址
2,在壁纸详情页面获取壁纸真实高清url地址
3,保存地址
代码实现
模拟浏览器请请求网页,获取网页数据
,
这里只选择爬取前10页的数据
代码如下
import 线程 import parsel import 请求 def get_html (html_url): ,& # 39;& # 39;& # 39; ,获取网页源代码 ,:param html_url:网页url ,返回: ,& # 39;& # 39;& # 39;=,,response  requests.get (url=html_url,标题=标题) return 响应 def get_par (html_data): ,& # 39;& # 39;& # 39; ,把response.text 转换成,selector 对象,解析提取数据 ,:param html_data: response.text :返回:大敌;selector 对象 ,& # 39;& # 39;& # 39;=,,selector  parsel.Selector (html_data) return 选择器 def 下载(img_url,标题): ,& # 39;& # 39;& # 39; ,保存数据 ,:param img_url:图片地址 标题:,:param 图片标题 ,返回: ,& # 39;& # 39;& # 39;=,,content  get_html .content (img_url)=,path & # 39;壁纸\ \ & # 39;,+,title +, & # 39; jpg # 39; ,with 开放(路径,,模式=& # 39;wb # 39;), as f: f.write才能(内容) 打印才能(& # 39;正在保存& # 39;,,标题) def 主要(url): ,& # 39;& # 39;& # 39; ,主函数 ,:param url:列表页面,url ,返回: ,& # 39;& # 39;& # 39;=,,html_data  get_html。text (url)=,,selector  get_par (html_data)=,,lis  selector.css (& # 39; .wb_listbox div dl dd a:: attr (href) & # 39;) .getall () 李斯,for li 拷贝: 时间=img_data 才能;get_html(李)。text 时间=img_selector 才能;get_par (img_data) img_url 才能=,img_selector.css (& # 39; .wb_showpic_main  img: attr (src) & # 39;) . get () title 才能=,img_selector.css (& # 39; .wb_pictitle::文本# 39;). get () .strip () 下载才能(img_url,标题)=,,end_time  time.time(),安康;s_time ,打印(end_time) if __name__ ==, & # 39; __main__ # 39;: ,for page 拷贝范围(1,11): 时间=url 才能;& # 39;http://www.deskbizhi.com/min/list- {} . html # 39; .format(页面) main_thread 才能=,threading.Thread(=主要目标,,args=(url)) main_thread.start才能()
以上就是怎么在python中利用多线程爬取网站壁纸,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。