自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

5分鐘擼了個小小爬蟲....

開發(fā) 前端
這幾天在用“必應”搜索時,發(fā)現(xiàn)必應的背景圖片挺好看的,有的是風景,有的是動物。。。于是產(chǎn)生了一個想法,爬下來當做桌面背景圖吧。。由于是每天必應的圖片都會變,所以后續(xù)結(jié)合電腦自帶的定時任務,可以達到每天自動抓取圖片的效果。

前言

這幾天在用“必應”搜索時,發(fā)現(xiàn)必應的背景圖片挺好看的,有的是風景,有的是動物。。。于是產(chǎn)生了一個想法,爬下來當做桌面背景圖吧。。

由于是每天必應的圖片都會變,所以后續(xù)結(jié)合電腦自帶的定時任務,可以達到每天自動抓取圖片的效果。

開工

簡單的分析下:必應首頁。

 

5分鐘擼了個小小爬蟲....

打開 F12 ,找到對應的請求,可以很容易的看到有這么個鏈接,然后點一下,就會新打開一個頁面,此時顯示的就是背景圖片。

如何下載呢?其實很簡單,說下邏輯。

requests庫請求主頁,正則匹配地址,再用 requests 請求,將返回的 content 以二進制的形式寫入文件,保存為圖片。

核心代碼:

  1. url = 'https://cn.bing.com'headers = {    'User-Agent': 'Mozilla/5.0 
  2.  (Macintosh; Intel Mac OS X 10_15_1) '                  'AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3  
  3. Safari/605.1.15'}r = requests.get(url=url, headers=headers)# 正則匹配 
  4. 到 url 地址a = re.findall(r'rel="preload" href="(.*?)" as="image"',  
  5. r.text)if a:    # 拼接 https://cn.bing.com/xxxxxx圖片的地址     
  6. picture_url = parse.urljoin(url, a[0])    print(f'當前圖片地址: 
  7. {picture_url}')    r_picture = requests.get(url=picture_url,  
  8. headers=headers)    write_file(file, r_picture.content) # 寫入文件 

執(zhí)行后的結(jié)果:

 

5分鐘擼了個小小爬蟲....

主要是正則表達式,如何書寫,匹配出來,用 urllib 的 urljoin 方法拼接下圖片地址即可??梢钥聪潞诵拇a的相關(guān)注釋。

定時任務

Python代碼一共 25 行,關(guān)鍵是如何利用系統(tǒng)定時來制造每天觸發(fā)的效果。

使用方法,兩個。

編輯 crontab :

  1. crontab -e 

 

5分鐘擼了個小小爬蟲....

回車后,進入內(nèi)容,用法和 vim 一樣,按下 i 即可編寫,然后 wq 保存。

 

5分鐘擼了個小小爬蟲....
  1. 0 10 * * * /Users/sy/anaconda3/bin/python /Users/sy/PycharmProjects 
  2. /python-tools/spider/bing_picture/crawl_bing.py > /Users 
  3. /sy/PycharmProjects/python-tools/spider/bing_picture/log 

第一段,是cron特有的時間配置表達式,可以看下圖的簡介,順便給大家一個網(wǎng)址,可以在線查看其表達式的含義。而我腳本中寫的則是每天十點整執(zhí)行 Python。

 

5分鐘擼了個小小爬蟲....

工具網(wǎng)址:

crontab執(zhí)行時間計算​tool.lu

 

5分鐘擼了個小小爬蟲....

寫完 cron 表達式,后面跟的其實就是 python xxx.py 這樣的命令,只不過,在 cron 中一定要寫絕對路徑,否則不生效。

再執(zhí)行 python 命令的基礎上,我還追加了 > xxx.log 這樣,意思是將 python 腳本的打印內(nèi)容輸出到一個指定目錄的 log 文件里。

2.查看定時任務 crontab:

  1. crontab -l 

 

5分鐘擼了個小小爬蟲....

cron -l 則是查看定時任務列表內(nèi)容的,可以看到有多少任務配置了。如果有多個定時腳本,則可以回車換行繼續(xù)添加即可。

每日自動抓取,導入圖片,換背景即可。

 

5分鐘擼了個小小爬蟲....

總結(jié)

嗯,這就是本次的 5 分鐘擼一個小爬蟲系列!

本篇介紹的定時工具,其實用途很大,因為基于系統(tǒng)層面,所以不依賴于腳本,只要你電腦開著,就可以隨心所欲的觸發(fā)你寫的腳本,而不依賴你腳本本身使用代碼的定時任務!

責任編輯:未麗燕 來源: 今日頭條
相關(guān)推薦

2020-12-07 11:23:32

Scrapy爬蟲Python

2021-10-12 09:24:02

Java線程池源碼

2021-05-31 07:22:46

ORM框架程序

2012-06-28 10:26:51

Silverlight

2020-09-14 11:30:26

HTTP3運維互聯(lián)網(wǎng)

2021-01-29 11:43:53

SSHLinux命令

2021-04-30 16:23:58

WebRTC實時音頻

2020-10-30 15:04:16

開發(fā)技能代碼

2010-11-03 11:01:05

求職面試

2020-12-17 10:00:16

Python協(xié)程線程

2009-11-26 11:19:52

NIS服務器

2011-07-11 09:58:52

2020-11-23 16:23:59

CSS設計技術(shù)

2021-03-12 09:45:00

Python關(guān)聯(lián)規(guī)則算法

2021-01-29 11:25:57

Python爬山算法函數(shù)優(yōu)化

2021-06-07 12:08:06

iOS Python API

2020-05-15 07:30:08

黑客Thunderbolt漏洞

2021-03-23 15:35:36

Adam優(yōu)化語言

2016-10-13 13:01:51

2017-10-11 15:17:42

sklearn機器學習pandas
點贊
收藏

51CTO技術(shù)棧公眾號