真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Linux環(huán)境下安裝chrome無頭模式抓取網(wǎng)頁源碼的方法

這篇文章主要講解了“Linux環(huán)境下安裝chrome無頭模式抓取網(wǎng)頁源碼的方法”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Linux環(huán)境下安裝chrome無頭模式抓取網(wǎng)頁源碼的方法”吧!

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于成都網(wǎng)站設計、做網(wǎng)站、雨花臺網(wǎng)絡推廣、成都小程序開發(fā)、雨花臺網(wǎng)絡營銷、雨花臺企業(yè)策劃、雨花臺品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供雨花臺建站搭建服務,24小時服務熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com

由來:公司業(yè)務方面需要抓取目標網(wǎng)站首頁上的源代碼,進行業(yè)務分析,在會議上腦子里就想使用Jsoup直接抓取就好了, 簡單得很 , 等到會后 ,實際情況挺復雜的

有些網(wǎng)站是使用js生成的,有些網(wǎng)站還具備反爬功能, 判斷你是否使用瀏覽器訪問, 如果不是瀏覽器那么就直接給一個警告的js代碼, (由于行業(yè)原因, 不放出目標網(wǎng)站和抓到的js代碼)

所以, 就只能依靠真的瀏覽器,真的去訪問一下目標網(wǎng)站,獲取頁面源碼, 此法借鑒于測試界的selenium和linux版的chrome無頭模式, 下面開始:

0.參考資料來自簡書 :https://www.jianshu.com/p/b2609ed57f07 在這里感謝作者提供這么好的教程和思路

1.進入linux 先執(zhí)行命令: 

yum install libX11 libXcursor libXdamage libXext libXcomposite libXi libXrandr gtk3 libappindicator-gtk3 xdg-utils libXScrnSaver liberation-fonts

2.下載chrome

wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

3.安裝chrome

rpm -ivh google-chrome-stable_current_x86_64.rpm

這個時候,可能有的環(huán)境下就報錯, 類似于

warning: google-chrome-stable_current_x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 7fac5991: NOKEY
error: Failed dependencies:
	/usr/bin/lsb_release is needed by google-chrome-stable-75.0.3770.100-1.x86_64

我找到的解決方式是這樣安裝chrome, 就可以安裝成功了

yum localinstall google-chrome-stable_current_x86_64.rpm

4. 查看一下安裝的chrome是什么版本的, 需要下載對應的chromedriver

[root@a80f552643f3 ~]# google-chrome --version
Google Chrome 75.0.3770.100

看到版本號, 這樣就可以找對應的chromedriver 去這里找: http://chromedriver.chromium.org/downloads

Linux環(huán)境下安裝chrome無頭模式抓取網(wǎng)頁源碼的方法

下載自己版本對應的chromedriver , 然后傳到自己的linux上,位置隨意(不過這里在代碼中有體現(xiàn), 下面會提到)

chromedriver應該是個zip, 需要解開, 里面有個chromedriver名字的文件, 設置一下權限(我這里給出了777的權限)

chmod 777 chromedriver

5.來到代碼編輯器里(idea, springboot,其他語言自行查找對應的代碼設置)

設置一下pom.xml 在 標簽中增加入下內(nèi)容

        
            org.seleniumhq.selenium
            selenium-java
            3.141.59
        
        
            org.seleniumhq.selenium
            selenium-remote-driver
            3.141.59
        
        
            org.seleniumhq.selenium
            selenium-api
            3.141.59
        
        
            org.seleniumhq.selenium
            selenium-chrome-driver
            3.141.59
        
        
            org.seleniumhq.selenium
            selenium-support
            3.141.59
        
        
            com.google.guava
            guava
            23.0
        
        
            org.jsoup
            jsoup
            1.12.1
        

寫一個controller , 然后提供一個如下方法 , 注意看注釋, 注釋很重要

    @GetMapping("info")
    public String info(@RequestParam String  url){
        // 這里就是設置chromedriver的地址
        String driverPath = "/root/chromedriver";
        // 將這個地址設置到系統(tǒng)變量參數(shù)中
        System.setProperty("webdriver.chrome.driver", driverPath);
        // 如果沒有url參數(shù),就默認取一個頁面的源碼
        if (Objects.isNull(url)) {
            url = "https://www.jianshu.com/p/b2609ed57f07";
        }
        // 開始設置chrome
        ChromeOptions chromeOptions=new ChromeOptions();
        // 必須設置 chrome 的無頭模式 , 否則linux命令行模式啟動報錯
        chromeOptions.setHeadless(Boolean.TRUE);
        // 必須設置不使用沙箱, 也是防止 DevToolsActivePort file doesn't exist
        chromeOptions.addArguments("--no-sandbox");
        // 防止 DevToolsActivePort file doesn't exist
        chromeOptions.addArguments("--disable-dev-shm-usage");
        // 不加載圖片, 提升速度
        chromeOptions.addArguments("blink-settings=imagesEnabled=false");
        // 設置 ua
        chromeOptions.addArguments("--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36");
        ChromeDriver chromeDriver = new ChromeDriver(chromeOptions);
        chromeDriver.get(url);
        // 獲得頁面源碼
        String pageSource = chromeDriver.getPageSource();
        return pageSource;
    }

打包上傳到Linux服務器, 可以作為外部調(diào)用的一個接口, 返回目標地址的頁面源碼

感謝各位的閱讀,以上就是“Linux環(huán)境下安裝chrome無頭模式抓取網(wǎng)頁源碼的方法”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對Linux環(huán)境下安裝chrome無頭模式抓取網(wǎng)頁源碼的方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關知識點的文章,歡迎關注!


文章名稱:Linux環(huán)境下安裝chrome無頭模式抓取網(wǎng)頁源碼的方法
路徑分享:http://weahome.cn/article/gcohig.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部