爬蟲筆記(二) 爬取藥監局所有詳情頁資料

2022-06-24 19:21:12 字數 2278 閱讀 8316

藥監局**:

藥監局首頁:

詳情頁:

目的:爬取藥監局所有詳情頁資訊,儲存在本地,以csv檔案格式儲存。

分析主頁:

主頁的response返回內容中,包含了這一頁中的所有企業的id

修改網頁引數page可以實現翻頁

所以首先要通過訪問主頁,獲取所有企業id,放到乙個list中。

if

__name__ == '

__main__':

url = '

itownet/portalaction.do?method=getxkzslist

'headers =

data_ids=

for i in range(0,50): #

50頁之後資料異常,就爬到50頁吧

data =

dict_data = requests.post(url = url ,data = data,headers =headers).json()

time.sleep(0.1)

for j in dict_data['

list']:

'id'])

data_ids中就是所有企業的id

下一步是通過numpy建立csv檔案,把列索引建立出來。先對data_ids第0個id,也就是第0個企業的詳情頁進行解析,

把每一項作為列索引

url_creat_csv = '

itownet/portalaction.do?method=getxkzsbyid

'creat_csv(url_creat_csv,data_ids[0])

建立csv檔案函式定義

def

creat_csv(url,list_id_0):

df =pd.dataframe()

headers =

data =

dict_data = requests.post(url=url, data=data, headers=headers).json()

for i in

dict_data.keys():

df[i]=''

df.to_csv(

'1.csv

',encoding = '

utf-8_sig

')

最後將每乙個企業id對應詳情頁解析,放到csv檔案中

pd = pd.read_csv('

1.csv

',encoding = '

utf-8')

url = '

itownet/portalaction.do?method=getxkzsbyid

'for (j,i) in zip(range(len(data_ids)),data_ids): #

對每乙個id網頁進行訪問

data =

data_js = requests.post(url = url ,data = data,headers =headers).json()

for k in data_js.keys():#

k是遍歷data_js中的key

pd.loc[j,k] =data_js[k]

pd.to_csv(

'1.csv

', encoding='

utf-8_sig

')

最後爬到的檔案是這樣的:

如果覺得列索引是英文的,可以用字典對應替換下,這裡就不寫了。

個人總結:爬資料不難,難在儲存在本地中。利用pandas儲存檔案花了半天時間。。。囧

Python爬蟲爬取LOL所有英雄面板

獲取id defget id url headers response requests.get url url,headers headers r response.json ids jsonpath.jsonpath r,heroid print ids print 英雄的個數為 str len...

爬蟲筆記 初始爬蟲(二)

什麼是爬蟲?爬蟲是什麼呢,一般說的爬蟲都是網路爬蟲。那什麼是網路爬蟲呢?網路爬蟲 又被稱為網頁蜘蛛,網路機械人,在foaf社群中間,更經常的稱為網頁追逐者 是一種按照一定的規則,自動地抓取全球資訊網資訊的程式或者指令碼。另外一些不常使用的名字還有螞蟻 自動索引 模擬程式或者蠕蟲。總結來說就是一句話,...

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

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