日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

scrapy 搜索关键字_Scrapy 新浪微博搜索爬虫

發布時間:2023/12/15 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 scrapy 搜索关键字_Scrapy 新浪微博搜索爬虫 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

微博高級搜索

可能你經常有這樣的需要,比如最近有熱度的事件興起,你要抓取幾月幾號到幾月幾號這段時間,提及到某個關鍵詞的微博。

這其實是一個非常剛性的需求,這就要采用微博的高級搜索來完成了。

本文采用 微博站點

高級搜索接口:

https://weibo.cn/search/mblog?advanced=mblog&f=s

注意這里的時間是以天為單位,如果輸入關鍵詞“高考”,試著分別輸入20190601至20190602、20190601至20190620,結果返回的都是100頁,每頁10個,也就是1000條結果。如果想爬取更豐富的數據,肯定是要構造每一個相差一天,一直到截止日期的url集合

import scrapy

from scrapy import Request

from ..items import *

import datetime

import re

class WeiboSpiderSpider(scrapy.Spider):

name = 'weibo_spider'

allowed_domains = ['weibo.cn']

# start_urls = ['http://weibo.cn/']

base_url = "https://weibo.cn"

def start_requests(self):

url_format = "https://weibo.cn/search/mblog?hideSearchFrame=&keyword={}&advancedfilter=1&starttime={}&endtime={}&sort=time"

# 搜索的關鍵詞,可以修改

# keyword = "陰陽師"

keyword = "高考"

# 搜索的起始日期,自行修改 微博的創建日期是2009-08-16 也就是說不要采用這個日期更前面的日期了

date_start = datetime.datetime.strptime("2019-05-20", '%Y-%m-%d')

# 搜索的結束日期,自行修改

date_end = datetime.datetime.strptime("2019-06-20", '%Y-%m-%d')

time_spread = datetime.timedelta(days=1)

while date_start < date_end:

next_time = date_start + time_spread

url = url_format.format(keyword, date_start.strftime("%Y%m%d"), next_time.strftime("%Y%m%d"))

date_start = next_time

yield Request(url, callback=self.parse_tweet, dont_filter=True)

例如這樣我們爬取 2019-05-20 至 2019-06-20 這一個月關鍵詞“高考”的微博,構造url,從起始日期每天+1天,一天是10*100=1000條結果,一共是這一個月之間的天數*1000條結果。

然后就可以爬取微博數據和發該微博的用戶信息。

小白的學習筆記...

emmmm...

后來,抓取了近3個月,關鍵詞為“陰陽師”的微博近80000條,用戶50000多個,男女比例1.8:1

根據微博內容生成詞云 (詞云的Github源碼:Ingram7/Mywordcloud)

總結

以上是生活随笔為你收集整理的scrapy 搜索关键字_Scrapy 新浪微博搜索爬虫的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。