爬蟲學習總結三

2021-09-28 10:52:35 字數 1536 閱讀 6799

# -*- coding: utf-8 -*-

import scrapy

from firstspider.items import firstspideritem

class

tiebaspider

(scrapy.spider)

: name =

'tieba'

# 爬蟲名

]# 爬蟲域

start_urls =

['']# 爬蟲起始位址

defparse

(self, response)

:for li in response.xpath(

'//li[@class=" j_thread_list clearfix"]'):

item = firstspideritem(

) item[

'title'

]= li.xpath(

'./div/div[2]/div[1]/div[1]/a/text()'

).extract_first(

) item[

'author'

]= li.xpath(

'./div/div[2]/div[1]/div[2]/span[1]/span[1]/a/text()'

).extract_first(

) item[

'rep_num'

]= li.xpath(

'./div/div[1]/span/text()'

).extract_first(

)yield item

# 列表頁翻頁

)

之後執行爬蟲並將結果儲存到csv檔案中:scrapy crawl tieba -o tb_all.csv

最後一共爬取了45239條,可以看出貼吧基本沒有設立反爬機制,很適合新手進行練習。

從爬取的url中我們可以看出,都是有規律可尋的:

第一頁第二頁

第三頁…所以我們可以在start_urls部分直接將url進行乙個迭代,具體**如下:

start_urls =

[''.format

(i)for i in

range(0

,5000,50

)]# 獲取1-100頁的資料

至此,兩種自動翻頁的方法已經介紹結束,下一章主要針對拉勾網進行爬蟲,並對資料結果進行分析。

爬蟲學習總結

1 接觸的爬蟲模組 urllib request,selenium 2 robots協議 規定網頁資料那些資料是否能爬去 requests模組沒有語法對該協議生效 scrapy中有對該協議進行生效 3 如何解析驗證碼 驗證嗎,可以用numpy模組對進行處理。文字驗證碼,可以使用雲打碼平台,打碼兔等 ...

爬蟲學習日記(三)

之前做的task發現commit的時候出現點問題,失敗了,具體失敗的原因還不知道。而且cindy姐姐給我們講qa的時候,也跟我講了我做的有點問題,應該說是方向有點不對,郵件裡面東哥說的是要改stack裡面的資訊,但是其實cindy姐姐要的是改掉content裡面的東西,只要搜尋不到的船的資訊,這樣子...

Python爬蟲學習稿(三)

一 資料結構 我們必須知道,乙個網頁上存在許多鏈結,並且如果已經爬取過的頁面是不需要再重複進行爬取的,那麼爬蟲就需要判斷,這個頁面是否曾經被爬取過 頁面上的這些鏈結爬取的順序 解決問題一 python自從2.3後提供了一種名為集合 set 的資料結構,和數學上的集合一樣,支援交 並 差等運算,set...