爬蟲入門學習筆記3
爬蟲入門學習筆記3
get()和post()的資料請求
- 在get()裡面叫paramas
- 在post()裡面叫data
嘗試動態頁面的爬取(豆瓣排名)
老規矩,先附上原始碼:
import requests
import json
url='https://movie.douban.com/j/chart/top_list?'
header={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"}
params = {
'type':'5',
'interval_id':'100:90',
'action':'',
'start': '0',
'limit':'20'
}
response=requests.get(url=url,headers=header,params=params).content.decode()
res=json.loads(response)
for i in res:
rating = i['rating'][0]
rank = i['rank']
types = i['types']
typess = ''
for a in types:
typess += a
typess += '/'
regions = i['regions'][0]
date = i['release_date']
title = i['title']
actors = i['actors']
actorss = ''
for b in actors:
actorss += b
actorss += '/'
print('電影名字:' + title)
print('排名:',rank)
print('評分:' + rating)
print('主演:' + actorss)
print('上映時間:' + date + '/上映地區:' + regions + '/分類:' + typess)
print('-------------------------------------------------------------------')
失敗的嘗試
一開始使用xpath來爬取這個文字,但是發現不得行,爬了一個寂寞給我,後來瞭解到這是一個動態的頁面,所以我們回憶起爬取有道翻譯怎麼操作的
必要資訊的提取
- 開啟network勾到XHR,看響應頭,發現第三個是有效的資訊
- 目標確定,接下來就是獲取必要的資訊來配置爬蟲
- 找出真正的url
- 發現提交方式是get
- 發現返回的是json格式
- 翻到最下面,找到get請求的資料paramas
配置好爬蟲
- 之前爬取有道翻譯的時候也涉及了json解密。
response=requests.get(url=url,headers=header,params=params).content.decode()
對於這後面的.content.decode()
這裡說一下我的理解:由於返回的是json格式,不能用文字方式爬取,所以用最最基本的二進位制方式爬取就對了,decode()
指的是編碼方式,預設就是字串方式,剛好我們json.loads()
就是要處理字串
import requests
import json
url='https://movie.douban.com/j/chart/top_list?'
header={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"}
params = {
'type':'5',
'interval_id':'100:90',
'action':'',
'start': '0',
'limit':'20'
}
response=requests.get(url=url,headers=header,params=params).content.decode()
res=json.loads(response)
資料的處理
- 解碼出來的res是一個列表,列表裡面是一個個的字典,每個字典代表一個電影
- 由於不美觀,所我處理了一個電影好觀察字典的鍵和值的對應關係
這樣就一目瞭然了
照著這個處理後的字典,資料處理很簡單,就不多說了
for i in res:
rating = i['rating'][0]
rank = i['rank']
types = i['types']
typess = ''
for a in types:
typess += a
typess += '/'
regions = i['regions'][0]
date = i['release_date']
title = i['title']
actors = i['actors']
actorss = ''
for b in actors:
actorss += b
actorss += '/'
print('電影名字:' + title)
print('排名:',rank)
print('評分:' + rating)
print('主演:' + actorss)
print('上映時間:' + date + '/上映地區:' + regions + '/分類:' + typess)
print('-------------------------------------------------------------------')
相關文章
- python爬蟲學習筆記 4.2 (Scrapy入門案例(建立專案))Python爬蟲筆記
- 一入爬蟲深似海,總結python爬蟲學習筆記!爬蟲Python筆記
- python爬蟲—學習筆記-4Python爬蟲筆記
- python爬蟲—學習筆記-2Python爬蟲筆記
- Python爬蟲學習筆記(三)Python爬蟲筆記
- python爬蟲學習筆記(二)Python爬蟲筆記
- 一名爬蟲工程師的運維入門之路:IPy學習筆記爬蟲工程師運維筆記
- 為什麼學習python及爬蟲,Python爬蟲[入門篇]?Python爬蟲
- python3 爬蟲入門Python爬蟲
- 爬蟲學習筆記:練習爬取多頁天涯帖子爬蟲筆記
- 學習Python爬蟲難嗎?入門好學嗎?Python爬蟲
- 《Python3 網路爬蟲開發實戰》—學習筆記Python爬蟲筆記
- Python3爬蟲入門(一)Python爬蟲
- Python 開發簡單爬蟲 (學習筆記)Python爬蟲筆記
- git入門學習筆記Git筆記
- Docker入門學習筆記Docker筆記
- Unity學習筆記--入門Unity筆記
- TS入門學習筆記筆記
- 【PostgreSQL】入門學習筆記SQL筆記
- 爬蟲入門爬蟲
- Python爬蟲入門學習實戰專案(一)Python爬蟲
- JavaScript入門學習學習筆記(上)JavaScript筆記
- 【Python學習】爬蟲爬蟲爬蟲爬蟲~Python爬蟲
- Python爬蟲學習筆記(三、儲存資料)Python爬蟲筆記
- Python3 爬蟲快速入門攻略Python爬蟲
- 爬蟲學習日記(六)爬蟲
- 爬蟲學習日記(八)爬蟲
- 爬蟲學習日記(七)爬蟲
- 爬蟲學習日記(五)爬蟲
- 爬蟲學習日記(三)爬蟲
- 爬蟲學習日記(二)爬蟲
- 爬蟲學習日記(一)爬蟲
- HTML入門學習筆記(二)HTML筆記
- React入門指南(學習筆記)React筆記
- pandas 學習筆記 (入門篇)筆記
- Go 入門指南學習筆記Go筆記
- MySQL學習筆記---入門使用MySql筆記
- Dubbo學習筆記(一) 入門筆記