IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 学习爬虫lesson1 -> 正文阅读

[网络协议]学习爬虫lesson1

#这几个例子都是具体的单独的一个数据的爬取,要从网站同时爬取多个还得深入学习从html中提取数据

#example 1
from urllib.request import urlopen

url = "http://www.baidu.com" #url代表要获取的网页
resp = urlopen(url) #打开这个网页得到响应
#读出来,decode解码,把read出来的内容保存到文件中去
with open("mybaidu.html",mode="w",encoding="utf-8") as f:
    f.write(resp.read().decode("utf-8"))
#read到的或者说是write保存到文件里的就是百度页面的源代码
resp.close()

#example 2
import requests

query = input("输入一个搜索名")
url = f'https://www.sogou.com/web?query={query}'
Headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36 SLBrowser/7.0.0.6241 SLBChan/12"
}
#右键检查 network 刷新页面 点第一个header看头部里面有个user-agent用来描述当前的请求是哪个设备发出的.把它加到爬出去就知道我这是个正常浏览器而不是爬虫程序
resp = requests.get(url, headers=Headers) #复制的地址栏中的地址一般都是用get+处理一个反爬
print(resp.text) #得到页面源代码
resp.close()

#example 3
import requests

url = 'https://fanyi.baidu.com/sug'
s = input("请输入你要翻译的英文单词")
dic = {
    "kw":s
} #定义一个字典里面有自己要传递的参数
resp = requests.post(url, data = dic) #发送post请求发送的数据必须放在字典中通过data参数进行传递

print(resp.json())
resp.close()

#example 4
import requests

#url = 'https://movie.douban.com/j/chart/top_list?type=24&interval_id=100%3A90&action=&start=0&limit=1'当参数太长时考虑封装
url = 'https://movie.douban.com/j/chart/top_list' #?后的就是query string里的内容,检查hearder里可以查看
param = {
"type": "24",
"interval_id":"100:90",
"action":"",
"start": "0",
"limit": "1"
}#不要忘记给复制query string里的内容加引号

Headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36 SLBrowser/7.0.0.6241 SLBChan/12"
}#把真正的useragent沾上,反爬开始

resp = requests.get(url=url, params=param, headers=Headers)
#print(resp.request.url) #结果就是长的网址
print(resp.json())#能运行,没有内容,因为这网站反爬,就要去尝试看这爬虫程序默认的一些东西和原网站有什么不一样;加入了反爬后运行就有结果了哈哈
#print(resp.request.headers)#运行结果中'User-Agent'是 'python-requests/2.27.1',复制原网站中的useragent反爬
resp.close() #要记得加,不然打开多个没关会容易报错
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-01-14 02:22:35  更:2022-01-14 02:25:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 12:40:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码