1. 程式人生 > >爬蟲遇到的坑(持續更新)

爬蟲遇到的坑(持續更新)

1.當你在scrapy crawl xxx -o xxx.json 時出現亂碼,那麼你要在settings裡新增以下一句:
FEED_EXPORT_ENCODING = 'utf-8'
如果輸出到CSV檔案是亂碼問題,那麼你要用記事本開啟,然後在儲存為utf-8 格式 因為excl 預設的編碼是acii

2.語法    說明
/artical/div[1] 選取所有屬於artical 子元素的第一個div元素
/artical/div[last()]    選取所有屬於artical子元素的最後一個元素
/artical/div[last()-1]  選取所有屬於artical子元素的倒數低2個元素
//div[@lang]    選取所有擁有屬性為lang的元素
//div[@lang=”eng”]  選取所有div下lang屬性為eng的元素
/div/*  選取所有屬於div元素的所有子節點
//* 選取所有元素
//div[@*]   選取所有帶屬性的title元素
//div/a
| //div/p 選取所有div元素的a和p 元素 //span | //ul 選取文件中所有span和ul 的元素 artical/div/pl | //span 選取所有div下的pl和文件中所有span //a[contains(@href, “image”)] 所有href中包含 image的a元素 CCS選擇器語法 語法 說明 * 選擇所有節點 #container 選擇id為container的節點 .container 選擇所有class包含container的節點 div,p 選擇所有 div 元素和所有 p 元素 li a 選取所有li 下所有a節點 ul + p 選取ul後面的第一個p元素 div#container > ul 選取id為container的div的第一個ul子元素 ul ~p 選取與ul相鄰的所有p元素 a
[title] 選取所有有title屬性的a元素 a[href=”http://baidu.com”] 選取所有href屬性為http://baidu.com的a元素 a[href*=”baidu”] 選取所有href屬性值中包含baidu的a元素 a[href^=”http”] 選取所有href屬性值中以http開頭的a元素 a[href$=”.jpg”] 選取所有href屬性值中以.jpg結尾的a元素 input[type=radio]:checked 選擇選中的radio的元素 div:not(#container) 選取所有id為非container 的div屬性 li:
nth-child(3) 選取第三個li元素 li:nth-child(2n) 選取第偶數個li元素 a::attr(href) 選取a標籤的href屬性 a::text 選取a標籤下的文字 提取內容 方法 返回 Selector.xpath() 返回SelectorList物件 Selector.css() 返回SelectorList物件 SelectorList.extract() 返回List物件 SelectorList.extract_first(default) 返回String物件,可以有預設值,類似dict.get(key, default)

相關推薦

爬蟲遇到的持續更新

1.當你在scrapy crawl xxx -o xxx.json 時出現亂碼,那麼你要在settings裡新增以下一句: FEED_EXPORT_ENCODING = 'utf-8' 如果輸出到CSV檔案是亂碼問題,那麼你要用記事本開啟,然後在儲存為utf-8

react-native android 除錯 遇到的持續更新

1.小米裝置除錯      檢視裝置是否正常連結  adb devices      連結正常  報錯:      FAILURE: Build failed with an exception.     * What went wrong:    Execution fa

那些年我們踩過的php持續更新

原因:在第一次迴圈時,陣列的指標指向下一個元素,得到的陣列值為2,這個時候,php陣列內部會複製一份臨時的陣列$tmp, $tmp的指標指向第二個元素,後續呼叫current($a),實際上是取的臨時陣列$tmp的當前值,而$tmp的指標始終指向第二個元素,所以輸出結果永遠是2

Android 開發時遇到過的持續更新

1.匯入工程後,更改應用報名報錯,clean 無反應。 在網上查詢資料沒有頭緒,後面發現,自定義的控制元件所在的路徑因為更改報名之後改變了,需要在引用該控制元件的佈局檔案中修改屬性的路徑 xmlns:example="http://schemas.android.com/a

Laravel學習過程中的一些持續更新

多站點配置 在Homestead目錄下依次執行以下命令 vagrant up vagrant ssh serve blog.test /home/vagrant/code/blog/public vagrant provision vagrant reload

Amazon alexa skill開發中遇到的持續更新...

博主也是一個剛接觸amazon alexa skill開發的小白,從零開始。下面我說下我在開發我的alexash時所遇到的坑。 1、建立AWS lambda函式時沒有 alexa skill kit這個觸發器            通常我們建立lambda函式服務

React Native 第一持續更新

環境搭建: https://reactnative.cn/docs/0.51/getting-started.html 1. 在同一個js檔案中,class定義的位置必須在引用之前,否則就會造成找不到class的問題 2. this的執行時可變的,但在箭頭函式中是固定的,

docker-6-記錄持續更新

windows 下 dokcer build 後出現 windows 下 dokcer build 後出現許可權設定問題 這個許可權是指哪個目錄,然後怎麼設定? SECURITY WARNING: You are building a Docker image from Windows ag

mysql常用函式以及點記錄持續更新

函式 字串轉int:         CONVERT(ID,SIGNED) 字串拼接:         #拼接字串(某一欄位為NULl,返回NUll)     &

記錄某專案中的踩與解決持續更新

前言 最近參加了某個比賽, 我所選的賽題就是個類似知乎這樣的安卓app,由於著手近一個月了,踩了不少坑,之前沒怎麼記錄,估計事後也會忘記乾淨。 因此特開一帖,在此記錄下相關的坑。 記錄 寫完某個Recyclerview的item佈局和相關介面卡後, 然後展示的時候, 發現顯示出來的Item數量小於

記錄某項目中的踩與解決持續更新

class hold 數量 eat 發現 適配 比賽 攔截 綁定 前言 最近參加了某個比賽, 我所選的賽題就是個類似知乎這樣的安卓app,由於著手近一個月了,踩了不少坑,之前沒怎麽記錄,估計事後也會忘記幹凈。 因此特開一帖,在此記錄下相關的坑。 記錄 寫完某個Recyc

python 編寫爬蟲常用包下載地址、工具網站以及相關安裝問題集合持續更新

轉載請標明出處,謝謝。以下連結出現問題請私戳或留言,我儘快解決。 免費代理ip網站: http://www.xicidaili.com/nn/ geckodriver 下載地址: https://github.com/mozilla/geckodrive

樹莓派開始之路----各種與問題彙總持續更新

系統的選擇 raspberrypi 3b 。親身體會,ubuntu mate實在不如Raspbian官方推薦系統好,除了更卡一點,插上耳機,音訊都放不出來。。。懶得找解決方法,可能以後會慢慢好起來吧。其他系統沒試~ 掛各種裝置,出現電壓問題 用有源hub,之後滑鼠/鍵盤/行動

Arcengine開發所錯誤解決方案持續更新

錯誤1:ArcGIS無法嵌入互操作型別解決辦法例: 無法嵌入互操作型別“ESRI.ArcGIS.Carto.FeatureLayerClass”。請改用適用的介面 解決: 1、展開當前專案(Project)的“引用”; 2、找到引用的“ESRI.ArcGIS.Cart

Vue2.x 踩記錄持續更新

踩坑少年歡樂多0.0記錄下自己開發過程中遇到的坑,避免以後遇到了又一臉懵逼。(之前已經踩過很多坑了,沒有及時記錄,之後優化程式碼的時候再看到或者後續開發中遇到坑會更新到文章中。)computed修改data返回的資料出處是黃神的課程,原始碼是vue1.x,在2.x版本就會有這

AS被過的那些事...持續更新

最近剛開始接觸Android開發,開始用的Eclipse,因為已經被Google遺棄了,各種不方便,之後下載了Google的親兒子…Android Studio。在使用的過程中,也存在著這樣那樣的問題

golang的持續更新中....

使用golang開發新專案有一段時間了,現在逐漸對go有點失望了,但還好沒有絕望。 最開始草草翻閱《go語音程式設計》( 許式偉)時,最讓我眼前一亮的其實並不是協程(這個已經聽了太多太多…),而是其中對json的marshal和unmarshal,然後就瞭解到

ionic爬過的各種持續更新

1:判斷當前裝置是否ios/andriod: <script type="text/javascript"> var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 |

阿里雲直播在實際使用中的一些持續更新中...

前言    最近在基於阿里雲做直播會議的實踐,在使用中遇到了部分坑,在此記錄下,提醒自己和同道中人。具體坑如下:    為了保證推流和拉流的安全性,阿里雲是預設開啟了鑑權保護的,所以不帶auth_key是無法訪問的。    auth_key的生成需參照阿里雲的文件描述,根據規

input輸入限制持續更新

pan only bmi pbo length 讀文本 num tom clipboard 1.只讀文本框內容 <!-- 在input裏添加屬性值 readonly --> <input type="text" value="" readonly&g