原创 錯誤: 找不到或無法加載主類 HelloWorld.class java程序猿的第一個bug

錯誤: 找不到或無法加載主類 helloWorld.class 原因: java.lang.ClassNotFoundException: helloWorld.class java後面的參數不是文件名,而是類名,所以去掉文件後綴即可 j

原创 requests驗證代理

python requests設置代理有一坑: 正確的設置方式: requests.get(url, proxies={'http': '11.11.11.11:111'}) requests.get(url, proxies={'htt

原创 scrapy源碼閱讀-UserAgentMiddleware

源碼閱讀如下: """Set User-Agent header per spider or use a default value from settings""" from scrapy import signals clas

原创 scrapy源碼解讀-RetryMiddleware

值得糾正的理解是:scrapy的重試產生時,雖然會馬上被消費,但是請求會重新走一遍調度器和下載中間件。所以中間件鏈上對應的邏輯會再執行一遍,不用擔心代理和USER_AGENT等等沒有切換 """ An extension to retr

原创 Java對象構造和初始化

構造方法: 對象都有構造方法, 如果沒有,編譯器回自動加上一個default構造方法 不可以使用new創建對象的抽象類也有構造方法 調用構造方法: this調用本類的其他構造方法, super調用直接父類的構造方法, this和super

原创 scrapy小細節

1.配置文件settings.py內一定要使用大寫變量名,不然from_crawler函數中的crawler.settings無法加載 2.回調函數將請求添加到調度器一定要用yield,而不是return 3.scrapy配置的優先級:

原创 Java高級語法

lambda表達式 lambda表達式是接口或者說是接口函數的簡寫 lambda表達式的基本寫法是:【參數 -> 結果】。其中參數可以使()或一個參數或多個參數,結果是指表達式或語句或{語句} 如 (String s)  ->s.len

原创 Java對象清除和垃圾回收

對象的自動清除 垃圾回收:對象回收是由Java虛擬機的垃圾回收線程來實現的 任何對象都有一個引用計數,當其值爲0時,說明該對象可以回收 System.gc()方法:System類的靜態方法,使程序主動的申請進行垃圾回收 析構方法 java

原创 python xpath提取信息

常用的使用xpath的場景: 1.python lxml模塊 from lxml import etree content = ''' <html> <head> <title>tes

原创 java修飾符

java訪問控制修飾符,可以用來保護對類、變量、方法和構造方法的訪問。 default:在同一包內可見 private:在同一類中可見,類和接口不能聲明爲provate public:對所有類可見 protected:對同一包內的類和所有

原创 java數據類型和python數據類型

java的基本數據類型有八種: 六種數字類型、一種字符類型、一種布爾類型 byte:8位,-2^7~2^7,默認值爲0,主要代理整數節約空間 short:16位,-2^15~2^15,默認值爲0,同樣可以節約空間 int:32位,-2^3

原创 錯誤: 找不到或無法加載主類 Puppy.class java程序猿的第一個bug

錯誤: 找不到或無法加載主類 Puppy.class 原因: java.lang.ClassNotFoundException: Puppy.class java後面的參數不是文件名,而是類名,所以去掉文件後綴即可 java  Puppy

原创 java類和python類

構造方法: Java允許一個類有多個構造方法,並且構造方法必須與類名同名,如果沒有顯示地爲類定義構造方法,Java編譯器將會爲該類提供一個默認的構造方法 python中一個類只有一個構造方法__init__,如果沒有顯示的定義構造方法,則

原创 爬蟲自如價格

這是一篇求助討論文 最近準備“造訪”自如網,他們反爬主要體現在價格的獲取上。當前拿價格數據的難點主要在: 價格數據是在圖片上的,每次請求圖片隨機生成 每次返回的圖片大小不一樣 沒有返回具體json數據的接口 每個數字對應的偏移量是個帶小數

原创 Scrapy 代碼塊封裝

函數封裝: 問題點: 在scrapy的爬蟲中,request對象和item對象都必須在回調函數返回,當多個回調函數有共同的代碼塊時就不方便正常提取封裝 解決辦法: 遵循框架原則:回調函數返回生成器,並且攜帶的數據是request對象或者i