请求URL的方法(一)
在分析完爬取数据之后,通过params方法构造请求。程序来源:崔庆才
from pyquery import PyQuery as pq
import requests
def getPage(page):
url = 'https://m.weibo.cn/api/container/getIndex?' #在怎么来?分析Ajax请求
hd = {"User-Agent": 'Mozilla'} # 模仿浏览器
params = {'type': 'uid',
'value': '2830678474',
'containerid': '1076032830678474',
'page': page} # 作为参数增加到url中去
try:
r = requests.get(url, headers=hd, params=params)
r.raise_for_status()
return r.json() # 解析为JSON返回
except:
print('-----')
def parsePage(json):
if json:
items = json.get('data').get('cards') # 是一个列表
for item in items:
item = item.get('mblog') # 是一个字典
if item == None:
continue
content = {}
content['data'] = item.get('created_at') # 日期
content['text'] = pq(item.get('text')).text() # 借助pyquery将正文中的HTML标签去掉了
content['source'] = item.get('source') # 用什么发表
yield content
def main():
for i in range(1, 11): # 爬取到第十页结束
json = getPage(i)
results = parsePage(json)
for result in results:
print(result)
if __name__ == '__main__':
main()
Requests发送json格式数据的URL(二)
用途:写爬虫脚本和接口测试
描述:一般情况下request发送post请求的时候,不管post的数据类型,默认类型为:application/x-www-form-urlencoded。当需要数据格式为json时,可进行如下操作:
参考:https://blog.csdn.net/u012374229/article/details/46743877
import json
import requests
data = {
'username': zhangsan,
'password': 123456
}
# 在headers中添加上content-type参数,指定格式为json
headers = {'Content-Type': 'application/json'}
# 在发送post请求的时候,将data字典形式的参数用json包转换成json格式。
response = requests.post(url='url', headers=headers, data=json.dumps(data))

本文介绍了Python中如何使用Requests库构造请求URL,包括通过params方法构造请求以及发送JSON格式数据的URL,主要应用于爬虫脚本和接口测试。文中详细讲解了在需要将数据类型设置为JSON时的操作步骤。
1018

被折叠的 条评论
为什么被折叠?



