基於scrapy爬取的百度貼吧並進行資料分析

2021-09-28 14:31:31 字數 2752 閱讀 1005

首先我們需要在命令列中建立乙個scrapy工程,對於scrapy這個框架我們只需要把需要的資料新增進去,簡單方便。

class

zibizhengitem

(scrapy.item)

:# define the fields for your item here like:

# name = scrapy.field()

content = scrapy.field(

)#獲取內容

title = scrapy.field(

)#獲取標題

接著,我們在settings.py裡更改包括對robat協議等一些配置

我們開始編寫**的主體部分

):#進行翻頁處理,每一頁間隔50

yield scrapy.request(self.base_url +

str(page)

, callback=self.get_url,dont_filter=

true

, meta=

)def

get_url

(self, response)

: item = response.meta[

"item"

] title_list=response.xpath(

'//div[@class="threadlist_title pull_left j_th_tit "]/a/text()'

).extract(

)#用xpath解析標題

content_list=response.xpath(

'//div[@class="threadlist_abs threadlist_abs_onlyline "]/text()'

).extract(

)#用xpath解析內容

title=

''.join(title_list)

content=

''.join(content_list)

#將列表轉換成字串以便寫入

item[

'title'

]=title

item[

'content'

]=content

yield item

至此,我們的這個主體**編寫完畢

爬取到資料,需要儲存到本地

import codecs

import time

from zibizheng.items import zibizhengitem

class

zibizhengpipeline

(object):

defprocess_item

(self, item, spider)

: today = time.strftime(

'%y%m%d'

, time.localtime())

# 獲取本地時間

filename = today +

'tit.txt'

filenamecon = today +

'con.txt'

#對標題和內容分別儲存

with

open

(filename,

'a', encoding=

'utf-8'

)as f:

f.write(item[

"title"])

with

open

(filenamecon,

'a', encoding=

'utf-8'

)as f:

f.write(item[

"content"

])

這個scrapy的爬蟲,我們已經寫完,我們需要這些帖子的主體都在描述什麼內容,我們做了乙個簡單的詞雲圖,用圖來表示更為直觀

這裡我們提前使用了jieba分詞以及哈工大的停用詞對資料進行了處理,從這個詞雲圖中,我們可以提取到「孩子」,「家長」,「醫生」等這些人物之間的關係,以及「眼神」,「懷疑」,「脾氣」,「變化」,「說話」這些孩子的外在變化。

我們又對其中的某些資料做了更為詳細的詞頻統計,其中基本上是家長對孩子**做的一些努力,其**現的這個「星兒」據調查得知,是行業內很知名的一家**機構。

在此,我們的整個專案算是已經完成,希望自閉症兒童可以早點**。

爬取百度貼吧

import urllib.request import urllib.parse import os,time 輸入貼吧名字 baname input 請輸入貼吧的名字 start page int input 請輸入起始頁 end page int input 請輸入結束頁 不完整的url ur...

爬取百度貼吧

帶入需要使用的包 from urllib import request,parse importos 基礎知識 變數賦值 字串賦值 爬取的關鍵字 kw lol 數值賦值 爬取的頁數範圍 start 1end 4 輸出 print kw,start,end 宣告需要爬取的連線 base url 建立資...

爬取百度貼吧資料

每次寫的時候總是正規表示式出現問題,還需多多練習正規表示式的書寫,需要耐心 細心 coding utf 8 引入請求包 import requests 引入正規表示式包 import re 1.準備url url 2.獲取網頁源 發起請求接收響應 response requests.get url ...