序言

文中的文本及图片来自互联网,仅作学习培训 、沟通交流应用,不具备一切商业行为,如有什么问题请立即在线留言以作解决。

 

基础开发工具

  • Python 3.6
  • Pycharm
import requests import parsel import threading

 

有关控制模块 pip 安裝就可以

总体目标网页分析

 

这一网址有桌面壁纸也是有手机墙纸 ,還是非常好的 。

 


网址是静态网页,沒有数据加密,能够立即抓取

 

 

总体构思

1、先在目录网页页面获得每一张墙纸的详细信息详细地址
2、在墙纸宝贝详情面获得墙纸真正超清url地址
3 、储存墙纸

编码完成

仿真模拟电脑浏览器要求网页页面 ,获得网页页面数据信息

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()

 

这儿只挑选抓取前10页的数据信息

 

 


从运作截屏和墙纸储存看来,5.5秒的時间,安装了215张图片 ,高效率上边還是能够的 ,均值测算出来每秒免费下载40张图片。。 。

能够自身去试一下线程同步抓取数据信息哈,高效率還是十分高的

文章来源于网络,如有侵权请联系站长QQ61910465删除
本文版权归趣快排www.sEoguruBlog.com 所有,如有转发请注明来出,竞价开户托管,seo优化请联系QQ✈61910465