爬取新浪微博

2022-04-04 20:28:06 字數 1764 閱讀 6599

學到的東西。

1 習慣用logger,而不是用print

self.logger.debug('

{}開始解析

'.format(response.url))

2 習慣用正規表示式

這是在pipeline清理資料時用到的

s = '

5分鐘前

'if re.match('

\d+分鐘前

',s):

minute = re.match('

(\d+)

',s).group(1

) datetime = time.strftime('

%y-%m-%d %h:%m

',time.localtime(time.time()-float(minute)*60

)) print(datetime)

3 time模組都快忘乾淨了吧

4 eval的妙用,還可以這樣用!

注釋的是lowb**。如果欄位更多,更顯的low。

學到了

def parse_detail(self,response):

self.logger.debug(

'{}開始解析

'.format(response.url))

item =yqtem()

title = response.css('

body > div.wrap > div.mainbox > div.main2 > div.left > div.title > strong > a::text

').extract_first()

author = response.css('

body > div.wrap > div.mainbox > div.main2 > div.right > div.autherinfo > div.au_name > p:nth-child(2) > a::text

').extract_first()

popularity = response.css('

body > div.wrap > div.mainbox > div.main2 > div.left > div.num > table > tbody > tr > td:nth-child(2)::text

').extract_first()

count = response.css('

body > div.wrap > div.mainbox > div.main2 > div.left > div.num > table > tbody > tr > td:nth-child(4)::text

').extract_first()

# item[

'title

'] =title

# item[

'author

'] =author

# item[

'popularity

'] =popularity

# item[

'count

'] =count

for field in

item.fields:

item[field] =eval(field)

yield item

5 formrequest 的用法

data =

yield formrequest(url, callback=self.parse_index, formdata=data)

爬取新浪微博熱搜榜

一 主題式網路爬蟲設計方案 15分 3.主題式網路爬蟲設計方案概述 包括實現思路與技術難點 本案例使用requests庫獲取網頁資料,使用beautifulsoup庫解析頁面內容,再使用pandas庫把爬取的資料輸出,並對資料視覺化,最後進行小結 技術難點 爬取有用的資料,將有礙分析的資料剔除,回歸...

Python爬取新浪微博評論資料,寫入csv檔案中

操作步驟如下 2.開啟m.weibo.cn 3.查詢自己感興趣的話題,獲取對應的資料介面鏈結 4.獲取cookies和headers coding utf 8 import requests import csvimport osbase url cookies headers path os.ge...

自動獲取cookie,爬取新浪微博熱門評論

目錄 一 前言 二 網盤 selenium僅僅用於獲取cookie,實際爬取將直接使用requests請求,以保證爬取效率 話不多說,也不複雜,直接上 了,關鍵的地方有注釋 import requests import selenium from selenium import webdriver ...