# -*- 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...