學習資料
import requests
if __name__ == '__main__':
#step1:指定url
url='https://www.sogou.com/'
#step2:發起請求
#get方法會返回一個響應物件
res=requests.get(url=url)
#step3:獲取相應資料.text返回的是以字串形式的
page=res.text
print(page)
#step4:持久化儲存
with open('./sogou.html','w',encoding='utf-8')as fp:
fp.write(page)
print("爬取資料結束")
簡單的網頁採集器 搜尋引擎
import requests
if __name__ == '__main__':
url='https://www.sogou.com/sie?'
#處理url攜帶的引數:封裝到字典中
kw=input('enter a word:')
param={
'query':kw
}
#對指定url發起的請求是攜帶引數的url是攜帶引數的
res=requests.get(url=url,params=param)
passs=res.text
print(passs)
fileName=kw+'.html'
with open(fileName,'w',encoding='utf-8') as fp:
fp.write(passs.text)
print(fileName,'儲存成功!!!!')
ps:輸入空姐,則在網頁中搜尋空姐
搞定百度翻譯
ajax 前端區域性重新整理
百度翻譯,是post請求攜帶的引數
響應的是json資料
post請求要攜帶引數
json資料
import requests
import json
if __name__ == '__main__':
#指定url連結
post_url='https://fanyi.baidu.com/sug'
#post請求引數處理(同get請求一致)
data={
'kw':'dog'
}
# 偽裝一下瀏覽器
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0'}
#請求傳送
res=requests.post(url=post_url,data=data,headers=headers)
#獲取響應資料:json()方法返回一個obj(物件)(如果確認響應資料是json型別的,才可以使用JSON)
dic_obj=res.json()
print(dic_obj)
#持久化儲存
fp=open('./dog.json','w',encoding='utf-8')
json.dump(dic_obj,fp=fp,ensure_ascii=False)#設定不存在字元模式
ps.可以自定義一個輸入函式
爬取豆瓣電影中的詳細資料
網址:https://movie.douban.com/j/chart/top_list?type=24&interval_id=100%3A90&action=&start=100&limit=20
因為是json非同步載入資料
import requests
import json
if __name__ == '__main__':
url='https://movie.douban.com/j/chart/top_list'
param={
"type": "24",
"interval_id": "100:90",
"action": "",
"start": "1",#從庫中的第幾部電影去取
"limit": "20",#一次取出的個數
}
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0'}
req=requests.get(url=url,params=param,headers=headers)
li_data=req.json()#json返回一個列表
fp=open('./douban.json','w',encoding='utf-8')
json.dump(li_data,fp=fp,ensure_ascii=False)#避免出現字元型資料
print('over!!!')
練習肯德基餐廳查詢
import requests
if __name__ == '__main__':
url='http://www.kfc.com.cn/kfccda/storelist/index.aspx'
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0'}
param={
"keyword": "青島",
"pageIndex": "1",
"pageSize": "10",
}
response=requests.get(url=url,params=param,headers=headers)
list_data=response.text
print(list_data)
爬取化妝品管理資訊平臺url=http://scxk.nmpa.gov.cn:81/xk/
因為網頁中有很多連結,每一個id代表一個公司的詳細資料所以要訪問每一個連結
先把所有的id列印出來
import requests
import json
if __name__ == '__main__':
#批量獲取不同企業的id值
url='http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsList'
#引數的封裝
data={"on":"true",
"page":"1",
"pageSize":"15",
"productName":"",
"conditionType":"1",
"applyname":"",
"applysn":"",}
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0'}
id_list = [] # 儲存企業的id
json_ids=requests.post(url=url,headers=headers,data=data).json()
for dic in json_ids['list']:
id_list.append(dic['ID'])#append字典的新增
#獲取企業詳情資料
post_url='http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsById'
for id in id_list:
data={
'id':id
}
data_json=requests.post(url=post_url,data=data,headers=headers).json()
print(data_json,'----------------------------')
相關文章
- 大資料學習資料大資料
- Go學習【二】學習資料Go
- 深度學習(一)深度學習學習資料深度學習
- Angular學習資料Angular
- 大資料學習大資料
- ALSA學習資料
- mysql學習資料MySql
- 資料庫學習資料庫
- 深度學習資料深度學習
- 前端學習資料前端
- OpenStack學習資料
- 精品學習資料
- pygame學習資料GAM
- JMeter學習資料JMeter
- GMF學習資料
- Struts學習資料
- java學習資料Java
- gis 資料學習
- 資料科學、資料工程學習路線資料科學
- 大資料學習:物件大資料物件
- Go 學習資料整理Go
- Swift UI 學習資料SwiftUI
- ROS學習資料大全ROS
- Java 學習資料集合Java
- 學習MongoDB資料庫MongoDB資料庫
- 深度學習資料集深度學習
- python學習資料Python
- Python 學習資料Python
- 學習資料網址
- 如何學習大資料?大資料
- Lync學習資料分享
- 各種學習資料
- iOS 學習資料整理iOS
- Sublime Text 學習資料
- openwrt luci 學習資料
- libevent學習資料
- swift學習資料整理Swift
- Oracle 資料字典學習Oracle