1.res.text ---> 將響應對象轉化為str類型 --->如果你的響應數據是HTML,可以使用text轉化為str
import re import requests import pymysql # 確定url,向服務器發起請求
url = 'https://www.guidaye.com/' #抓包
res = requests.get(url=url) #get請求步及到幾個參數
res.encoding = "gbk" #亂碼轉中文
# 數據解析: res.text就是str
titles = re.findall(r'<li><a title="(.*?)" href="/cp/\d+.html">.*?</a></li>',res.text) print(titles) # 數據持久化
conn = pymysql.connect(host = 'localhost', user = 'root', password = 'root123', port = 3306, charset = 'utf8', database = 'pachong') cursor = conn.cursor() for title in titles: sql = "insert into gs values ('%s')"%title try: cursor.execute(sql) conn.commit() print('成功') except: conn.rollback() print('失敗')
2.res.json()--->將響應對象轉化為python的dict類型,形式(類json):
import json import requests url = 'http://you.163.com/xhr/globalinfo//queryTop.json?__timestamp=1594373402392' res = requests.get(url=url) ret = res.json() # ret = json.loads(res.text) #json.loads把長得跟字典一樣的字符串轉換為字典 # print(ret) # print(type(ret))
for item in ret['data']['cateList']:
print(item['name'])
import requests import json url = 'https://temp.163.com/special/00804KVA/cm_yaowen20200213.js?callback=data_callback' res = requests.get(url=url) res = res.text.replace('data_callback(', '') #替換
res = res.strip(')') #切割
ret = json.loads(res) for item in ret: print(item['title'])
3.res.content--->流行式:圖片就是流形式
import requests url = 'https://video.pearvideo.com/mp4/adshort/20200709/cont-1684809-15252705_adpkg-ad_hd.mp4' res = requests.get(url=url) with open('k.mp4','wb')as f: f.write(res.content) #conteent 流數據
#url 找流播圖最長的一個 在播放的時候抓 找不到 到Media里面抓取
