亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python 多線程爬取壁紙網(wǎng)站的示例

 更新時間:2021年02月20日 15:15:47   作者:Martina_oh  
這篇文章主要介紹了python 多線程爬取壁紙網(wǎng)站的示例,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下

基本開發(fā)環(huán)境

· Python 3.6

· Pycharm

需要導入的庫

目標網(wǎng)頁分析

網(wǎng)站是靜態(tài)網(wǎng)站,沒有加密,可以直接爬取

整體思路:

1、先在列表頁面獲取每張壁紙的詳情頁地址

2、在壁紙詳情頁面獲取壁紙真實高清url地址

3、保存地址

代碼實現(xiàn)

模擬瀏覽器請請求網(wǎng)頁,獲取網(wǎng)頁數(shù)據(jù)

 

這里只選擇爬取前10頁的數(shù)據(jù)

代碼如下

import threading
import parsel
import requests

def get_html(html_url):
 '''
 獲取網(wǎng)頁源代碼
 :param html_url: 網(wǎng)頁url
 :return:
 '''
 response = requests.get(url=html_url, headers=headers)
 return response


def get_par(html_data):
 '''
 把 response.text 轉換成 selector 對象 解析提取數(shù)據(jù)
 :param html_data: response.text
 :return: selector 對象
 '''
 selector = parsel.Selector(html_data)
 return selector

def download(img_url, title):
 '''
 保存數(shù)據(jù)
 :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):
 '''
 主函數(shù)
 :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 多線程爬取壁紙網(wǎng)站的示例的詳細內容,更多關于python 爬取壁紙網(wǎng)站的資料請關注腳本之家其它相關文章!

相關文章

  • python解析.pyd文件的詳細代碼

    python解析.pyd文件的詳細代碼

    這篇文章介紹了python解析.pyd文件的詳細代碼,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考
    2021-12-12
  • Python中線程的MQ消息隊列實現(xiàn)以及消息隊列的優(yōu)點解析

    Python中線程的MQ消息隊列實現(xiàn)以及消息隊列的優(yōu)點解析

    消息隊列(MQ,Message Queue)在消息數(shù)據(jù)傳輸中的保存作用為數(shù)據(jù)通信提供了保障和實時處理上的便利,這里我們就來看一下Python中線程的MQ消息隊列實現(xiàn)以及消息隊列的優(yōu)點解析
    2016-06-06
  • LyScript實現(xiàn)Hook隱藏調試器的方法詳解

    LyScript實現(xiàn)Hook隱藏調試器的方法詳解

    LyScript?插件集成的內置API函數(shù)可靈活的實現(xiàn)繞過各類反調試保護機制。本文將運用LyScript實現(xiàn)繞過大多數(shù)通用調試機制,實現(xiàn)隱藏調試器的目的,需要的可以參考一下
    2022-09-09
  • 基于Python __dict__與dir()的區(qū)別詳解

    基于Python __dict__與dir()的區(qū)別詳解

    下面小編就為大家?guī)硪黄赑ython __dict__與dir()的區(qū)別詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • 教你學會使用Python正則表達式

    教你學會使用Python正則表達式

    正則表達式是一個特殊的字符序列,它能幫助你方便的檢查一個字符串是否與某種模式匹配。 Python 自1.5版本起增加了re 模塊,它提供 Perl 風格的正則表達式模式。re 模塊使 Python 語言擁有全部的正則表達式功能。
    2017-09-09
  • 基于Keras的格式化輸出Loss實現(xiàn)方式

    基于Keras的格式化輸出Loss實現(xiàn)方式

    這篇文章主要介紹了基于Keras的格式化輸出Loss實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python中文分詞工具之結巴分詞用法實例總結【經(jīng)典案例】

    Python中文分詞工具之結巴分詞用法實例總結【經(jīng)典案例】

    這篇文章主要介紹了Python中文分詞工具之結巴分詞用法,結合實例形式總結分析了Python針對中文文件的讀取與分詞操作過程中遇到的問題與解決方法,需要的朋友可以參考下
    2017-04-04
  • python3?cookbook解壓可迭代對象賦值給多個變量的問題及解決方案

    python3?cookbook解壓可迭代對象賦值給多個變量的問題及解決方案

    這篇文章主要介紹了python3?cookbook-解壓可迭代對象賦值給多個變量,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-01-01
  • python求列表交集的方法匯總

    python求列表交集的方法匯總

    這篇文章主要介紹了python求列表交集的方法,實例匯總了三個常用的方法,具有一定的參考借鑒價值,需要的朋友可以參考下
    2014-11-11
  • Python實現(xiàn)的讀寫json文件功能示例

    Python實現(xiàn)的讀寫json文件功能示例

    這篇文章主要介紹了Python實現(xiàn)的讀寫json文件功能,結合實例形式分析了Python針對json文件進行讀寫的常見操作技巧與注意事項,需要的朋友可以參考下
    2018-06-06

最新評論