爬虫过程中遇到的各种问题

2022-09-29  本文已影响0人  开心的小哈

乱码问题:

首先我们要知道网站使用的是什么编码,我们打开该网站的控制台,点击F12浏览器快捷键打开,输入document.charset回车即可查看该网站的编码

请求params的编码问题

我们在使用requests进行传入params时遇到的编码问题如下方代码

par = {'isPagination': 'true', 'pageHelp.pageSize': '25', 'pageHelp.pageNo': 1, 'pageHelp.beginPage': 1,
       'pageHelp.cacheSize': '1', 'pageHelp.endPage': 1, 'sqlId': 'BS_KCB_GGLL', 'siteId': '28',
       'channelId': '10007%2C10008%2C10009%2C10010', 'type': '', 'stockcode': '', 'extTeacher': '', 'extWTFL': '',
       'createTime': '', 'createTimeEnd': '', 'order': 'createTime%7Cdesc%2Cstockcode%7Casc'}

par2 = {'isPagination': 'true', 'pageHelp.pageSize': '25', 'pageHelp.pageNo': 1, 'pageHelp.beginPage': 1,
       'pageHelp.cacheSize': '1', 'pageHelp.endPage': 1, 'sqlId': 'BS_KCB_GGLL', 'siteId': '28',
       'channelId': '10007,10008,10009,10010', 'type': '', 'stockcode': '', 'extTeacher': '', 'extWTFL': '',
       'createTime': '', 'createTimeEnd': '', 'order': 'createTime|desc,stockcode|asc'}
headers = {'Host': 'query.sse.com.cn', 'Pragma': 'no-cache', 'Referer': 'http://www.sse.com.cn/',
           'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.24'}

url='http://localhost:8080/gethttpbody/hello'
import requests
res=requests.get(url=url,params=par,headers=headers)
print(res.text)

发送请求par时请求的方式是错误的应为在params=par时par为对象,对象中的字符串值不会进行url请求参数转码,导致发送给服务器后得到的是createTime%7Cdesc%2Cstockcode%7Casc,(其中%7就是|的url编码)如果后台的逻辑是那|进行拆分字符串,处理该就行识别到%7就会出错;

上一篇 下一篇

猜你喜欢

热点阅读