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

python-快速上手爬虫

目录

前言

        爬虫需谨慎,切勿从入门到入狱!

一点小小的准备工作

直接上手爬取网页

1.获取UA伪装

2.获取url

3.发送请求

4.获取数据并保存

总结


前言

        爬虫需谨慎,切勿从入门到入狱!

一点小小的准备工作

        对pip进行换源:win+r 打开命令提示符,输入cmd ,回车,将此串代码复制粘贴,将pip换成清华大学的镜像源

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

        换好了之后:再次win+r 打开命令提示符,输入cmd ,回车,输入下列代码,安装requests库用以爬虫

pip install requests

直接上手爬取网页

        爬虫的本质就是模拟浏览器上网的过程

        记住爬虫的四个步骤,UA伪装-->获取网站url-->发送请求-->获取数据并保存

import requestsif __name__ == '__main__':# UA伪装head = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0"}# 获取网址url = "https://baike.baidu.com/item/%E5%91%A8%E6%9D%B0%E4%BC%A6/129156"# 发送请求response = requests.get(url, headers=head)# 获取数据并保存with open("jay.html", "w", encoding="utf-8") as fp:fp.write(response.text)print(response.status_code)  # 输出200 则为正常

示例代码为爬取周杰伦百度百科的界面,最后打印是200,即为成功。

1.获取UA伪装

  1. 右击页面,选择"检查";或者按f12,进入检查界面。
  2. 再点击"网络",点击左上角的符号清空请求,再按 ctrl+r 刷新网页。
  3. 你会看到有许多请求被加载出来,往上翻找到第一个,复制右下角的User-Agent:后的内容进行粘贴即可。

2.获取url

步骤与UA差不多

粘贴完UA,再复制请求URL:后面的内容进行粘贴即可

3.发送请求

使用requests.get()方法,传入参数url,headers=head

大部分爬取时的请求方法都是get,再用response保存获取到的内容

4.获取数据并保存

使用.text属性获取服务器返回的文本内容,并进行打印。

再用.status_code属性检查HTTP请求的响应状态码,打印之后若是200即为成功。

有时会有其他状态码的显示

# 状态码解释
2**	成功,操作被成功接收并处理
3**	重定向,需要进一步的操作以完成请求
4**	客户端错误,请求包含语法错误或无法完成请求
5**	服务器错误,服务器在处理请求的过程中发生了错误

总结

        以上是最基础的爬虫应用,只是爬取网页并没有什么太大的作用,以后还会有爬取网页的图片和文字信息等。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 项目收获总结--大数据量存储架构设计方案
  • Keil开发IDE
  • Qt中的高分辨率及缩放处理
  • Python | Leetcode Python题解之第240题搜索二维矩阵II
  • FinClip 率先入驻 AWS Marketplace,加速全球市场布局
  • ISP代理和双ISP代理:区别和优势
  • 【C++编程】集合 set/multiset 容器基本操作
  • nodejs学习之process.env.NODE_ENV
  • conda 环境打包与使用
  • 2024.7.19最新详细的VMware17.0.0安装
  • Andriod Stdio新建Kotlin的Jetpack Compose简单项目
  • wps office 2019 Pro Plus 集成序列号Vba安装版教程
  • 百日筑基第二十四天-23种设计模式-结构型总汇
  • Vue Promise 必须在外层,放到其它比如ElMessageBox,将不会返回任何值
  • 服务器证书基于 OpenSSL一键颁发脚本
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • 5、React组件事件详解
  • co模块的前端实现
  • Django 博客开发教程 8 - 博客文章详情页
  • docker容器内的网络抓包
  • Java 内存分配及垃圾回收机制初探
  • Mysql5.6主从复制
  • oschina
  • React Native移动开发实战-3-实现页面间的数据传递
  • SegmentFault 2015 Top Rank
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 创建一种深思熟虑的文化
  • 分布式事物理论与实践
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 回顾2016
  • 微服务入门【系列视频课程】
  • 消息队列系列二(IOT中消息队列的应用)
  • 在weex里面使用chart图表
  • linux 淘宝开源监控工具tsar
  • UI设计初学者应该如何入门?
  • ​经​纬​恒​润​二​面​​三​七​互​娱​一​面​​元​象​二​面​
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • #define用法
  • #FPGA(基础知识)
  • #Java第九次作业--输入输出流和文件操作
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (定时器/计数器)中断系统(详解与使用)
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (二)测试工具
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (离散数学)逻辑连接词
  • (一)、软硬件全开源智能手表,与手机互联,标配多表盘,功能丰富(ZSWatch-Zephyr)
  • (转)shell调试方法
  • (转)大型网站架构演变和知识体系