原创 xpath 定位同級倒數第二個元素

xpath 定位同級標籤的倒數第一個a標籤 //div[contains(@class, 'paginator')]/a[last()] xpath 定位同級標籤的倒數第二個a標籤 //div[contains(@class,

原创 Python:key沒有引號的字符串如何轉json

如果一個字符串是如下類型的,直接用json.loads() import json msg = "{'name': 'CP', 'id': '', 'pageno': 1}" dic = json.loads(msg) 如果字符

原创 使用xshell上傳、下載文件(使用sz與rz命令)

使用xshell連接服務器,上傳下載文件最簡單的方式是使用rz和se命令。 只需要在服務器上安裝 yum install lrzsz 中間輸入 y,然後回車等待安裝完畢。 上傳文件時,直接輸入 rz 然後,你的文件目錄會彈出

原创 scrapy發送post請求

一些請求,用requests或者postman沒有問題,而用scrapy出現問題。 一部分原因是因爲headers寫的不夠準確,還有一部分則是因爲參數的原因。 scrapy發送post請求,參數的value必須是字符串,reque

原创 用xpath判斷網頁上的某個字段是否存在

數據採集時,多個同類型網頁上字段種類、數量可能不一致。有時需要我們判斷該字段是否在網頁上,使用xpath可以用標籤包含某個文本的方式。 部分代碼如下: 在不知道Checks for plagiarism字段是否存在的情況下,可以用

原创 爬蟲如何規避掉DDOS的頁面停留五秒後顯示

寫爬蟲的時候,經常會遇到防DDOS攻擊的網站,需要在頁面停留幾秒後,才能正確打開首頁。 本來我是用的chromedriver的headless模式,但是因爲要打開一個真實的瀏覽器,這種做法非常的消耗資源。 後來,使用V8引擎調用jav

原创 xpath匹配父標籤下的最後一個標籤(相同父標籤下子標籤個數不一致的情況)

有時候,相同的父節點下面的標籤個數不一致,一個父節點下面是兩個標籤,另一個父節點下面是三個標籤。 但是我們又想要把只有兩個標籤的父節點也記爲三個子節點,並且把它最後一個節點的值記爲None。可通過僞造的第三個標籤和第二個標籤比較,判斷

原创 ERROR 'latin-1' codec can't encode characters in position 81-86: ordinal not in range(256)問題解決

使用pymysql時,出現了編碼問題,可以在連接時進行聲明: db = pymysql.connect('{}'.format(host), '{}'.format(username), '{}'.format(pwd), '{}'.

原创 關於數據庫字段命名與實體類命名選擇駝峯還是下劃線

因爲數據庫字段、索引對大小寫是不敏感的,駝峯標識無意義; 所以一般採用數據庫字段下劃線, 實體類駝峯的命名方式

原创 Column count doesn't match value count at row 1(Python操作MySQL數據庫時的報錯)

首先,這個錯誤的意思是,我們插入數據庫的列與數據庫中的列不是一一對應的。 當使用Python操作MySQL數據庫時,如果id是自增,或者timestamp是自動生成的時候,我們不能採用 "INSERT INTO 表名 VALUES (

原创 Python 項目依賴模塊管理(自動生成requirements.txt和安裝)

首先,建議初學者每個項目用單獨的env,否則用這種方式收集依賴會把你本地的所有模塊版本都導出來,env的創建,我上一個帖子有。 1. 導出env中的模塊到requirements.txt pip freeze > requirement

原创 更改國外服務器的時區

一條命令就可以搞定 ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 然後用date查看當前時間,發現時間已經正常

原创 Python創建虛擬環境(Windows and Linux)virtualenv

1.Window 下創建env virtualenv -p D:\...python.exe +環境名稱 2.Linux下的env下載 sudo apt-get install python-virtualenv 3.Linux創建env