寒假學習筆記06

2022-08-03 06:57:11 字數 2253 閱讀 8473

第六天打卡,今天繼續上次的網頁爬取的內容,上次分析了相關的引數內容,這次我在網上查詢了相關的爬蟲請求ajax的請求,完成資料的爬取。

其中我才用的是scrapy 的爬蟲模板來進行的爬取相關的網頁,其中遇到了一些問題通過詢問同學以及上網查詢,最收取到了相關的資訊。

爬取源**:

import

json

import

random

import

string

import

scrapy

class

letterspider(scrapy.spider):

name = '

letter

'allowed_domains = ['

www.beijing.gov.cn']

#custome_setting可用於自定義每個spider的設定,而setting.py中的都是全域性屬性的,當你的

#scrapy工程裡有多個spider的時候這個custom_setting就顯得很有用了

custom_settings =

}#需要重寫start_requests方法

defstart_requests(self):

#網頁裡ajax鏈結

url = "

"#所有請求集合

requests =

#這裡只模擬一頁range(0, 1)

for i in range(0, 33750,1000):

random_random =random.random()

#封裝post請求體引數

my_data =

#模擬ajax傳送post請求

#可以利用json庫解析返回來得資料,在此省略

jsonbody =json.loads(response.body)

#拿到資料,再處理就簡單了。不再贅述

print

(jsonbody)

size = jsonbody['

pagecond

']['

size']

data = jsonbody['

maillist']

listdata ={}

for i in

range(size):

print

(i) listdata[

'letter_type

'] = data[i]['

letter_type']

listdata[

'original_id

'] = data[i]['

original_id']

listdata[

'catalog_id

'] =str(data[i]['

catalog_id'])

listdata[

'letter_title

'] = data[i]['

letter_title']

listdata[

'create_date

'] = data[i]['

create_date']

listdata[

'org_id

'] = data[i]['

org_id']

listdata[

'letter_status

'] = data[i]['

letter_status']

listdata[

'isreply

'] = data[i]['

isreply']

yield

listdata

print(listdata)

源**這個**還有一些地方沒有看懂,只是嘗試執行可以是實現,之後將研究下具體**的作用,這個**著實讓我有點費勁。最後附一張我費了半天勁弄出來的三萬多條資料。

OpenCV寒假學習day06

int cy h 2 int cx w 2 rect rect cx 100,cy 100,200,200 mat roi src rect imshow roi roi 先用rect類來獲取中的roi區域後再用mat類來定義roi。mat image roi.clone modify roi ro...

學習筆記06

do while 水仙花 從100到999 各個位數的立方和相加等於這個數本身就是乙個水仙花數 include intmain void i while i 999 return0 pow 用來計算以x為底的y次方值 include 上述式子可改為 if pow a,3 pow b,3 pow c,...

寒假學習筆記03

python正規表示式 正規表示式是各種字串操作的強大工具。正規表示式是一種特定於領域的語言 dsl 作為大多數現代程式語言的庫而不僅僅是 python。正規表示式對於以下兩種主要任務是很有用的 驗證字串是否匹配模式 例如,字串具有電子郵件位址的格式 對字串中進行替換 如將所有美式拼寫改為英式拼寫 ...