go爬蟲之爬取豆瓣電影

2022-08-17 13:36:13 字數 1380 閱讀 8737

好久沒使用go語言做個專案了,上午閒來無事花了點時間使用golang來爬取豆瓣top電影,這裡我沒有用colly框架而是自己設計簡單流程。mark一下

思路定義兩個channel,乙個channel存放web網頁源內容,另乙個存放提取後的有效內容。

多個goroutine併發爬取網頁源內容放到存放web網頁的channel裡,再啟動goroutine去存放web網頁的channel裡讀取內容,讀取到內容後啟動goroutine去提取有效值存放到channel裡,最後持久化寫入本地檔案(檔案寫操作並非執行緒安全所以這裡我沒有使用多goroutine)。

**具體**如下,如果想執行看效果需要go get github.com/puerkitobio/goquery安裝三方包或者直接點這裡拉取**設定gopath之後便可執行

通過多個goroutine併發執行爬取操作,channel存放要爬取url內容和爬取結果

這樣只需要設計爬取函式和提取函式

*/func get_web_content(url string, chan_web chan string)

body, err := ioutil.readall(resp.body)

if err != nil

chan_web <- string(body)

}func extract_valid_content(body string, chan_r chan byte)

dom.find("ol.grid_view div.item").each(func(i int, selection *goquery.selection)

chan_r <- json_str

})}func main()

go func()

go extract_valid_content(web_content, chan_r)

} }()

flag := false

to := time.newtimer(time.second * 5)

if err != nil

defer file.close()

for

to.reset(time.second * 5)

select

} fmt.println("end")

}

爬蟲 豆瓣電影爬取案例

直接上 僅供參考。目標爬取資料是某地區的 正在上映 部分的資料,如下圖 完整 如下 usr bin python coding utf 8 from lxml import etree import requests 目標 爬取豆瓣深圳地區的 正在上映 部分的資料 注意點 1 如果網頁採用的編碼方式...

Python爬蟲之爬取豆瓣電影(一)

最近閒來無事 學習python爬蟲,爬取豆瓣電影 開啟豆瓣電影 按f12 重新整理豆瓣網頁,會發現network的xhr中有鏈結 貼上出鏈結 會出現如下json 說明這個是每個分類電影的標籤,是乙個get請求的api,如果在python中載入成字典,則包含以惡個tags,對應的值是乙個列表,裡面的每...

Python爬蟲 爬取豆瓣電影(二)

檢視上乙個專案,請看 上乙個專案中獲取到了一定數量的電影url資訊,這次來獲取單個電影的電影詳情。對傳遞的url返回乙個名為soup的beautifulsoup物件 defget url html soup url header request body.get header proxies req...