环境python3.9版本及以上,开发工具pycharm
浏览器工具推荐使用Chrome,其他浏览器均有一定程度的阉割。
主要是熟练使用后端界面进行爬取数据。
http协议:超文本传输协议
把一条消息分为三大块内容:
请求:
1.请求行 --> 请求方式(get/post) 请求URL地址 协议
2.请求头 --> 放一些服务器要使用的附加信息
3.请求体 --> 一般放一些请求参数
响应:
1.响应行 --> 协议 状态码(200(正常访问)、302(请求重定向)、404(URL错误)、500(服务器错误))
2.响应头 --> 放一些客户器要使用的附加信息
3.响应体 --> 服务器返回的真正客户端要用的内容(HTML、json)等
requests模块入门:
安装步骤:打开pycharm-->找到下方的terminal终端界面-->输入pip install requests-->等待下载完毕即可使用
若安装速度缓慢,可百度搜索国内源下载,也可直取:
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 阿里云 http://mirrors.aliyun.com/pypi/simple/ 豆瓣 http://pypi.douban.com/simple/
一次性使用方式: pip install -i http://pypi.douban.com/simple/ SomePackage 如果提示不信任则用这个: pip install -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com SomePackage 后面再要加参数的话就如这样: pip install -i http://e.pypi.python.org --trusted-host e.pypi.python.org --upgrade pip #--upgrade 升级pip
使用requests模块获取百度源代码:
import requests # 爬取百度的页面源代码 url = "http://www.baidu.com" resp = requests.get(url) resp.encoding = 'utf-8' print(resp) # 查看响应状态 print(resp.text) # 拿到页面源代码
在pycharm中请求访问数据:
import requests content = input('请输入你要检索的内容:') url = f'https://www.sogou.com/web?query={content}' headers = { # 添加一个请求头信息,UA "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36" } # 处理一个小小的反爬 resp = requests.get(url, headers=headers) print(resp.text) print(resp.request.headers) # 可以查看到请求头信息
get方式请求参数:
import requests url = "https://movie.douban.com/j/chart/top_list?type=13" data = { "type": "13", "interval_id": "100:90", "action": "", "start": "0", "limit": "20" } headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36" } resp = requests.get(url, params=data, headers=headers) # print(resp.text) # 返回的是文本字符串 print(resp.json()) # 获取json数据
post方式请求:
import requests url = "https://fanyi.baidu.com/sug" data = { "kw":input('请输入一个单词:') } resp = requests.post(url, data=data) print(resp.text) # 拿到的是文本字符串 # 或者导入json包,使用print(resp.text) print(resp.json()['data']) # 此时拿到的是json数据。标签:Python,pypi,resp,day2,爬虫,--,print,requests,com From: https://www.cnblogs.com/Hyun79/p/17289144.html