日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

洗礼灵魂,修炼python(68)--爬虫篇—番外篇之webbrowser模块

發布時間:2025/3/21 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 洗礼灵魂,修炼python(68)--爬虫篇—番外篇之webbrowser模块 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題外話:

爬蟲學到這里,我想你大部分的網站已經不再話下了對吧?有檢測報文頭的,我們可以偽造報文頭為瀏覽器,有檢測IP,我們可以用代理IP,有檢測請求速度的,我們可以用time模塊停頓一下,需要登錄驗證的,我們可以用cookielib模塊搞定登錄,HTML標簽嵌套太多層的,我們可以用BeautifulSoup輕松取出來,等等方法,反正反爬蟲機制怎么樣,我們基本都有方法解決。

很厲害對吧?別得意忘形了,還有些反爬蟲機制,網頁是JS動態加載的,或者AJAX異步加載的,還有動態驗證碼驗證的等等的,這些機制造成的難度那才是真正的難度。后期也會跟著解析

其實你有沒有發現,在我們寫爬蟲的過程中,在潛移默化的復習前面的基礎知識,很不錯對吧?既能寫爬蟲,還能復習,在其中能掌握好多好多知識,是的。不過在這里,我還是建議大家稍微的了解一下html標簽和css樣式,或者你還可以學習一下js,這樣對后期搞爬蟲很有幫助,需要去了解每個標簽或者代碼是什么含義,什么作用,當寫爬蟲時遇到了,才能立馬做出解決方法對吧?

?

好的,有沒有朋友想過,既然爬蟲這么厲害,可以偽造瀏覽器,那么可以用真實的瀏覽器操作嗎?那是當然可以的,python,就是這么靈活,那么怎么控制真實的瀏覽器呢?終于說道本篇文章的主角了——webbrowser模塊

?

webbrowser模塊

1.簡介

顧名思義,web不用說是什么意思了吧?browser就是瀏覽器的意思嘛,那么webbrower就是web瀏覽器嘛。通俗簡短的說,它可以打開本地計算機的瀏覽器,然后進行更一步的操作,怎么操作就隨你了

webbrowser是一個內置的模塊,python2和python3都有的

2.方法/屬性

python2下:

python3下:

稍稍的有一些不同,不過不影響,那些我們基本很少用

3.常用方法/屬性解析

webbrowser.open(url[, new=0[, autoraise=1]]):用本機默認的瀏覽器操作

  • url:網頁鏈接/地址
  • new = 0, 那么url會在同一個瀏覽器窗口下打開;如果new = 1, 會打開一個新的窗口,如果new = 2, 會打開一個新的瀏覽器標簽頁;
  • autoraise = true,窗口會自動增長

?

例:

首先,我本機默認的瀏覽器是火狐瀏覽器

import webbrowser webbrowser.open('www.baidu.com') #這里可以不用加http://了,這直接是在瀏覽器上操作了,會自動識別

結果:

?

使用new參數后,其實沒多大區別,效果一樣的,自己測試了


webbrowser.open_new(url):在默認瀏覽器中打開一個新的窗口來打開url

其效果等價于webbrowser.open(url,new=1),自己測試了

webbrowser.open_new_tab(url):在默認瀏覽器中當開一個新的tab來打開url

其效果等價于webbrowser.open(url,new=2),略過

webbrowser.get([name]):根據name返回一個瀏覽器對象,如果name為空,則獲取到系統默認瀏覽器的操作對象
webbrowser.register(name, construtor[, instance]):注冊一個名字為name的瀏覽器,如果這個瀏覽器類型允許被注冊就可以用get()方法來獲取

允許被注冊的瀏覽器類型有:

'mozilla' Mozilla('mozilla')? ?
'firefox' Mozilla('mozilla')? ?
'netscape' Mozilla('netscape')? ?
'galeon' Galeon('galeon')? ?
'epiphany' Galeon('epiphany')? ?
'skipstone' BackgroundBrowser('skipstone')? ?
'kfmclient' Konqueror() (1)
'konqueror' Konqueror() (1)
'kfm' Konqueror() (1)
'mosaic' BackgroundBrowser('mosaic')? ?
'opera' Opera()? ?
'grail' Grail()? ?
'links' GenericBrowser('links')? ?
'elinks' Elinks('elinks')? ?
'lynx' GenericBrowser('lynx')? ?
'w3m' GenericBrowser('w3m')? ?
'windows-default' WindowsDefault (2)
'macosx' MacOSX('default') (3)
'safari' MacOSX('safari') (3)
'google-chrome' Chrome('google-chrome')? ?
'chrome' Chrome('chrome')? ?
'chromium' Chromium('chromium')? ?
'chromium-browser' Chromium('chromium-browser')

?其中,以上的Chrome,Chromium,MacOSX等等的都是webbrowser里的屬性或者方法

?

例:

import webbrowser print(webbrowser.get()) webbrowser.register('chrome',None,webbrowser.Chrome('chrome')) print(webbrowser.get('chrome'))

?

?結果:

?

啟動指定瀏覽器

我們已經知道webbrowser模塊會啟動本機默認瀏覽器,那么我們想啟動指定的瀏覽器呢?

也是可以的:

import webbrowser browser_path = r'C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chrome.exe' #你的瀏覽器主程序路徑 webbrowser.register('chrome',None,webbrowser.BackgroundBrowser(browser_path)) #此處的'chrome'可以用其它任意名字,如test,但是必須給一個,不然又會是默認瀏覽器執行 webbrowser.get('chrome').open('www.baidu.com',new=1,autoraise=True)

?結果:

?

關閉瀏覽器

有打開自然有關閉對吧,關閉命令:taskkill /F /IM XX.exe(XX為主程序名)

這次我打開ie瀏覽器:

?

import webbrowser,os,time browser_path = r'C:\Program Files\Internet Explorer\iexplore.exe' #你的瀏覽器主程序路徑,linux,mac等操作環境也一樣 webbrowser.register('chrome',None,webbrowser.BackgroundBrowser(browser_path)) webbrowser.get('chrome').open('www.baidu.com',new=1,autoraise=True) time.sleep(3) os.system('taskkill /F /IM iexplore.exe') #這里的'ieexplore.exe'是進程名稱,必須和瀏覽器主程序名一致,不然無法關閉,taskkill是windows下的命令,linux下沒記錯是kill

?

?在三秒過后確實自動關閉,由于效果不好展示,你們在本機體驗吧

?

webbrowser可以打開其他程序嗎?

這里有朋友有個想法了,你說,既然打開的是一個主程序,我可以打開QQ嗎?甚至可以打開其他任何的exe程序嗎?好像可行啊,注意一個命令:webbrowser.open(),這個命令打開的必須是一個合法的url,不然報錯,所以,當然是不可以打開其他程序,能傳入一個url的是不是只有瀏覽器啊?

?

?

實戰,刷博客訪問量

首先,我個人是不喜歡刷訪問量的,刷來有什么用,自己騙自己嘛對吧?這里做個案例講解一下,我建議大家還是不要去刷博客訪問量,沒什么意思,又不能體現自己的價值,也換不了錢對吧?

import webbrowser,time,os count = 1 browser_path = r'C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chrome.exe' #由于我用默認的瀏覽器火狐正在編輯本篇文章呢,所以使用的指定打開瀏覽器方法,你們可以直接默認的,減少代碼 while count <= 9: #最多打開九個窗口,超過就殺死進程webbrowser.register('chrome',None,webbrowser.BackgroundBrowser(browser_path))webbrowser.get('chrome').open_new_tab('http://www.cnblogs.com/yangva/p/7811622.html')count += 1time.sleep(2) else:os.system('taskkill /F /IM chrome.exe')

?

結果:這里我設置只有注冊用戶才能查看,所以提示需要登錄的,不影響,結果是實現了的

?

?

轉載于:https://www.cnblogs.com/yangva/p/7811655.html

總結

以上是生活随笔為你收集整理的洗礼灵魂,修炼python(68)--爬虫篇—番外篇之webbrowser模块的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。