python爬取數據須要注意的問題

1 爬取https的網站或是接口的時候,若是是不受信用的SSL證書,會報錯,須要添加以下代碼,以下代碼能夠保證當前代碼塊內全部的請求都自動屏蔽ssl證書問題:python

import ssl   # 這個是爬取https的連接須要的,以及下面一行代碼
ssl._create_default_https_context = ssl._create_unverified_context

 

2 爬取jsonp的接口,返回的數據須要刪除callback名字和最外層括號,能夠經過如下方式過濾:json

text方法將取得的數據轉爲文本,而後re.match將字符串過濾掉callback名字和最外層括號,留下本來json部分的數據,而後經過json.loads將過濾出來的json轉爲python對象jsonp

import re
getOneSongInfoCallback=json.loads(re.match(".*?({.*}).*", requests.get(url, headers=headers).text)[1])

 

3 獲取請求的地址後面跟的參數的方法,以下方式獲得qs就能夠進一步直接獲取本身想要的參數值:網站

import urllib.parse as parse
parse_query=parse.urlparse(url).query
qs=parse.parse_qs(parse_query)
相關文章
相關標籤/搜索