当前位置: 首页 > article >正文

Python爬虫 Day1

要注意看网页的请求方式是request还是get

一、小型爬虫 (爬百度首页)

from urllib.request import urlopen
url = "https://www.baidu.com"
resp = urlopen(url)
print(resp.read().decode('utf-8'))
print("over!")
//!!!!!!!!!!!!!!!!!
from urllib.request import  urlopen
url = "http://www.baidu.com"
resp = urlopen(url)
with open ("mybai.html",mode = "w") as f:
    f.write(resp.read().decode("utf-8"))
print("ok")

二、http协议

1.请求:

请求行:请求方式(get/post) 请求url地址 协议    请求方式:get显示提交、post隐式提交

请求头:放服务器用到的附加信息::User-Agent\Referer\cookie

请求体:一般放一些请求参数

2.响应

状态行:协议 状态码 200 404 500 302

响应头:放客户端使用的附加信息::cookie

响应体:服务器真正返回给客户端的

三、Request111(爬百度搜索结果1)Get方式直接拼接f,Query String Parameters

//小小反爬,在网页f12找network,在Request里找User-Agent
import requests
url = 'http://www.baidu.com/s?wd=%E5%91%A8%E6%9D%B0%E4%BC%A6'
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0.0"}
resp = requests.get(url,headers = headers)
print(resp)
print(resp.text)
//改良版通过交互获得需要的内容!!!!!!!!!!!!!!!!!!
import requests
query = input("请输入要查找的内容:")

url = f'https://www.baidu.com/s?wd={query}'
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0.0"}
resp = requests.get(url,headers = headers)
print(resp.text)

四、Request222(爬百度翻译)Post方式 User-Agent

import requests
url = "https://fanyi.baidu.com/sug"
s = input("请输入要查找的单词:")
dat = {
    "kw":s
}
# 发送post请求,发送的数据必须放在字典中,通过data参数进行传递
resp = requests.post(url,data = dat)
print(resp.json())#将服务器返回的内容直接处理成json() 
# print(resp.text)

运行显示时用 .json() 解决乱码问题


http://www.kler.cn/a/272856.html

相关文章:

  • 构建优雅、高效的 Nodejs 命令行工具 - Archons
  • Ubuntu20.4和docker终端指令、安装Go环境、安装搜狗输入法、安装WPS2019:保姆级图文详解
  • tomcat文件目录讲解
  • PHP中的魔术函数
  • 目标检测新视野 | YOLO、SSD与Faster R-CNN三大目标检测模型深度对比分析
  • 【Flink系列】4. Flink运行时架构
  • 网络编程--高并发服务器
  • 程序猿成长之路之socket篇-socket通信原理简介
  • web蓝桥杯真题:和手机相处的时光
  • python异常:Exception、BaseException接收异常,并打印异常信息msg
  • 接口优化:查询企业额度代码优化
  • 做老阳推荐的蓝海项目有成功的吗?
  • 【nfs报错】rpc mount export: RPC: Unable to receive; errno = No route to host
  • 英语单词--痛苦
  • web高可用集群(lvs负载均衡+keepalved高可用)
  • OpenvSwitch 配置 Trunk 端口实验
  • 人工智能需要的数学基础有哪些?
  • opc客户端
  • DARTS: DIFFERENTIABLE ARCHITECTURE SEARCH
  • linux系统kubernetes的pod的状态
  • 【vue baidu-map】实现百度地图展示基地,鼠标悬浮标注点展示详细信息
  • C语言深入理解指针(4)
  • KD-Tree的原理及其在KNN中的应用(附Python代码)
  • flask 继续学习
  • 微信小程序小案例实战
  • c语言大小写字母的转换