scrapy爬蟲的相關技術

2021-08-29 01:34:22 字數 1094 閱讀 4993

1.xpath選擇器從當前節點往下搜尋

nodename

選取此節點的所有子節點。

/從根節點擊取。

//從匹配選擇的當前節點擊擇文件中的節點,而不考慮它們的位置。

.選取當前節點。

..選取當前節點的父節點。

@選取屬性。

以上是w3school上的xpath語法介紹,下面有個問題,

div_list = response.xpath("//div[@class='quote']")

for each_div in div_list:

content = each_div.xpath(".//span[@class='text']/text()").extract_first()

author = each_div.xpath(".//small[@class='author']/text()").extract_first()

tag_list = each_div.xpath(".//a[@class='tag']/text()").extract()

在使用scrapy框架書寫爬蟲的時候,使用xpath找到了需要的div_list標籤組成的陣列,然後依次遍歷每個div,我的需求是,從每個div中繼續尋找子節點,語法應該怎麼寫呢,因為是從每個div(而不是根節點)開始尋找,因此第一步需要選取當前節點,在xpath語法中,使用.表示選取當前節點,然後再選擇所有的子節點。之前做的時候不知道先選取當前節點,選出來的一直都不是自己需要的。

2.xpath選擇器在選擇具有復合class節點的時候,不能按照有其中乙個就能選到節點的標準,比如某個div的class為quote post,雖然中間是空格,使用selenium按class選擇的時候,滿足兩個中的任意乙個就行,但是使用scrapy框架的response進行選擇時,則需要response.xpath("//div[@class='quote post']")才行。

3.scrapy爬蟲的除錯技巧

在命令列中輸入scrapy shell 就可以進行除錯,在彈出對話方塊中的in[1]:  後面輸入 all_div = response.xpath("//div[@class='quote post']")就能檢視是否爬取成功。

爬蟲學習 scrapy相關的知識

scrapy 是開源的爬蟲框架,快速強大,只需要寫少量的 即可完成爬取任務,容易擴充套件,新增新的功能模組 1.scrapy 在mac上的安裝 可以使用pip安裝scrapy 執行命令 sudo pip install scrapy 不帶sudo 可能會出現 permission denied 然後...

Scrapy爬蟲的嘗試

今天嘗試了一下使用scrapy框架來寫python的爬蟲。是根據scrapy的官方文件中的簡單的樣例修改的。嘗試了一下分析網頁,找出 中的所有的。首先定義了乙個item類 class imgitem scrapy.item src scrapy.field 之後是spider的類 import sc...

scrapy爬蟲框架

作者經過幾周的python爬蟲實踐之後,深入學習了一下scrapy這個爬蟲框架,現將一些基本知識和 總結整理一下,以備後查。2.scrapy的命令列使用 這部分網上很多部落格都有總結,不需要背,理解會用主要的命令 startproject crawl fetch list genspider.即可,...