在requests库的get方法中,对url进行get请求的时候,有的时候发现网页上的url有许多奇奇怪怪的东西,比如https://movie.douban.com/typerank?type_name=%E7%88%B1%E6%83%85&type=13&interval_id=100:90&action=这个链接里,“?”之后的都是携带的参数,我们可以把这些参数放到params里去get,在get的过程中,就会自动去加到url里
看下面这个例子:
第二张图片中里大红框框住的就是携带的参数了
import requests
def gethtml(url,headers,params) :
try:
response = requests.get(url=url,headers=headers,params=params)
strs = str(response.json())
response.close()
return strs
except:
return "gethtml产生异常"
def savefile(str) :
with open("douabnphb1.txt","w",encoding='utf-8') as f :
f.write(str)
return "OK"
if __name__ == "__main__":
url = "https://movie.douban.com/j/chart/top_list" # 这里我们就把url中问号之前的复制到这里
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36',
}
params = {
'type': 13,
'interval_id': '100:90',
'action':'',
'start': 0,# 将url的页面往下滚动会发现有新的加载出来,而不一样的只有这个参数,会变成20、40、这里可以使用列表,使用for循环去爬更多的信息
'limit': 20,
}
str = gethtml(url=url,headers=headers,params=params)
code = savefile(str)
print(code)
结果如下:
还可以加上openpyxl等处理excel的库去以一种可读易于理解的方式存储......