实例引入
import requests
#请求网站,并将响应赋给response
response = requests.get('https://www.baidu.com/')
#打印类型
print(type(response))
#打印状态码
print(response.status_code)
#打印网页源代码,响应内容
print(response.text)
#打印cookies属性
print(response.cookies)
请求
基本get请求
基本写法
import requests
response = requests.get('https://www.baidu.com')
print(response.text)
带参数get请求
import requests
from urllib.parse import urlencode
#将URL后面复杂咋繁琐的参数转换为字典通过urlencode再解析为相应格式下的网址信息, 也可以将其传给 params
data = {
'aid': '24',
'app_name': 'web_search',
'offset': 10,
'format': 'json',
'keyword': '街拍图集',
'autoload': 'true',
'count': '20',
'en_qc': '1',
'cur_tab': '1',
'from':'search_tab',
'pd': 'synthesis',
'timestamp': '1564585298865'
}
headers = {
# 加入headers确保抓取到正确的源代码
'content - type': 'application / x - www - form - urlencoded',
'cookie': '__utma=24953151.1804983764.1535863290.1535863290.1535863290.1; tt_webid=6718301413208049156; WEATHER_CITY=%E5%8C%97%E4%BA%AC; tt_webid=6718301413208049156; csrftoken=fd6d8d5cd96e91d1424b2eccd0804476; uuid="w:b9ae73b2a2324149ace87238abf7ba76"; __tasessionId=h6e39uygz1564626720887; s_v_web_id=bd9ddf412b02652b6c617d36afd4bbe2',
'referer': 'https://www.toutiao.com/search/?keyword=%E8%A1%97%E6%8B%8D%E5%9B%BE%E9%9B%86',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',
'x-requested-with': 'XMLHttpRequest'
}
url = 'https://www.toutiao.com/api/search/content/?' + urlencode(data)
response = requests.get(url, headers=headers)
print(response.text)
二进制数据
import requests
response = requests.get('https://github.com/favicon.ico')
print(type(response.text), type(response.content))
with open('favicon.ico', 'wb') as f:
f.write(response.content)
f.close()