怎么在python中利用多线程爬取网站壁纸

  介绍

本篇文章给大家分享的是有关怎么在python中利用多线程爬取网站壁纸,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

python主要用来做什么

python主要应用于:1,网络开发;2、数据科学研究;3,网络爬虫;4、嵌入式应用开发,5日游戏开发;6桌面应用开发。

基本开发环境

·python 3.6

·Pycharm

需要导入的库

怎么在python中利用多线程爬取网站壁纸

目标网页分析

怎么在python中利用多线程爬取网站壁纸

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

怎么在python中利用多线程爬取网站壁纸

怎么在python中利用多线程爬取网站壁纸

怎么在python中利用多线程爬取网站壁纸

整体思路:

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

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

3,保存地址

代码实现

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

, 怎么在python中利用多线程爬取网站壁纸

这里只选择爬取前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中利用多线程爬取网站壁纸,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

怎么在python中利用多线程爬取网站壁纸