几行代码实现爬虫

简介: 使用 Pycharm , 导入 一步 一部导入 request模块 ,几行代码实现爬虫,并对reques模块爬虫基本方法进行解释,方便以后复习

第一步 先导入 request模块  (使用的pycharm)

1.png

打开pycharm 光标定位在 file ,点击  选择 settings image.png

进入下面的 界面image.png选择project  下面的 Python interpreter  ,然后单击 添加符号

image.png

搜索request , 选择导入的request  ,点击 install 安装即可。


然后新建一个python 文件

image.png

import requests
url = "https://www.baidu.com/"  #要爬取的地址
r = requests.get(url)  # 获取 requests 响应
print(r.status_code)   # 看一下自己是否爬取成功  成功 的状态码 200
print(r.headers)   #返回很多headers 的信息
print(r.encoding)   # 返編碼方式
r.encoding = "utf-8"  #设置编码方式  看内容里面的 menta 里面的  charset 英文意思就是说 字符集
print(r.cookies)  # 查看网页cookies
print(r.text)  # 打印爬取到得内容

这个是代码。


第二对request 内的函数(方法)进行简单的认识

1 发送request请求

 

url :要下载的目标网页的URL

params(英文单词参数的意思): 字典形式, 设置URL后面的参数,

date: 字典或者字符串,一般用于POST方法提交数据

headers: 设置 user-agent, refer等请求头

timeout : 超时时间, 单位为秒。

Verify: True/False,是否进行HTTPS证书验证 默认是,需要自己设置证书地址(httphttps 的区别在于 前者没有后者安全 , 后者有密钥加持,更安全一些,安全的代价也就是响应慢)

Allow_redirects : True/False是否让requests 做重定向处理,默认是

Cooies:附带本地的cookies数据

 

 

2 接受 response响应   requests 网页下载库

r = requests.get/post(url)

//查看状态码,如果等于200代表请求成功

r.status_code   status 英语意思就是状态的意思   code英文就是代码的意思

//查看编码,以及变更编码

r. encoding ( request 会根据Heders 推出编码 推测不到则设置为  编码ISO-8859-1  如果乱码,需要自己去 看一下自己爬取网站的编码方式,做出修改)

//查看返回网页内容

r. text

//查看返回HTTPheaders   (这个就是 header 推测  可以获得编码方式)

r.headers

//查看实际访问的URL

r.url

//以字节的方式返回 内容, 比如用于下载图片

r. content (content 英文意思就是内容的意思)

//服务器端要写入本地的cookies数据

r.cookies

第三对代码进行讲解(四行代码及爬取成功)


image.png

第一行为基本导入库

image.png

第二行url得意思是:在网页中相当于唯一表示符,和人得身份证差不多。后面得地址就是要爬取得网页(也就是唯一得网址)

image.png

第三行 获得服务器给返回的响应,也就是网页内容,并解析。

image.png

打印爬取得内容


第四对爬取到的内容进行解释


image.png


200 及 爬取成功


image.png


编码方式,文本格式,内容类型等等信息。

image.png

1 打印默认编码方式 , 2 显示默认编码  3 设置编码方式为utf-8不然会乱码


image.png


查看cookies


image.png


这个为查看爬到的内容, 及百度一下,后续还需用正则表达式,各种方法对数据进行清洗

相关文章
|
4月前
|
运维 数据可视化 搜索推荐
研发部绩效考核怎么做?用这5步搭建体系,人事系统帮你落地
研发部门作为企业技术核心,其绩效考核面临创造性、协作性及高知群体特性带来的挑战。常规KPI难以量化创新价值、评估团队贡献或满足成长需求。科学的考核体系需从战略出发,结合可量化与定性指标,设定灵活周期,引入多源评价,并与激励机制联动。借助人事系统实现数据自动整合、流程在线化与结果可视化,提升考核效率与公平性。最终通过“体系+工具”结合,激发研发人员积极性,推动企业技术创新与战略落地。
|
数据采集 存储 Go
使用Go语言和chromedp库下载Instagram图片:简易指南
Go语言爬虫示例使用chromedp库下载Instagram图片,关键步骤包括设置代理IP、创建带代理的浏览器上下文及执行任务,如导航至用户页面、截图并存储图片。代码中新增`analyzeAndStoreImage`函数对图片进行分析和分类后存储。注意Instagram的反爬策略可能需要代码适时调整。
319 1
使用Go语言和chromedp库下载Instagram图片:简易指南
|
安全 数据库连接 Linux
深入探索研究FileRun
【10月更文挑战第9天】
536 1
|
存储 分布式计算 数据库
阿里云国际版设置数据库云分析工作负载的 ClickHouse 版
阿里云国际版设置数据库云分析工作负载的 ClickHouse 版
|
Oracle Java 关系型数据库
聊聊 datax 的 OceanBase 数据同步插件 ||批处理参数 rewriteBatchedStatements=true&useCursorFetch=true
聊聊 datax 的 OceanBase 数据同步插件 分析下批处理参数 rewriteBatchedStatements=true&useCursorFetch=true 对大规模数据读写的性能影响
聊聊 datax 的 OceanBase 数据同步插件 ||批处理参数 rewriteBatchedStatements=true&useCursorFetch=true
|
Linux
CentOS 7.x时间同步服务chrony配置详解
文章详细介绍了在CentOS 7.x系统中如何安装和配置chrony服务,以及它与ntpd服务的对比,强调了chrony在时间同步方面的高效性和准确性。
1295 2
CentOS 7.x时间同步服务chrony配置详解
|
前端开发 应用服务中间件 API
|
关系型数据库 MySQL
mysql查询结果时间戳转成日期格式——date、DATE_FORMAT和FROM_UNIXTIME的使用
mysql查询结果时间戳转成日期格式——date、DATE_FORMAT和FROM_UNIXTIME的使用
343 0
|
存储 监控 Linux
C语言 多路复用 select源码分析
本文详细介绍了阻塞IO与非阻塞IO的概念及其在Linux系统中的实现方式。首先阐述了常见的IO模型,包括阻塞型、非阻塞型及多路复用IO模型。阻塞IO模型会在IO请求未完成时阻塞进程,而非阻塞IO模型则允许在IO未完成时立即返回。非阻塞IO可通过设置`O_NONBLOCK`标志实现。接着介绍了多路复用IO模型,利用`select`、`poll`和`epoll`等系统调用监控多个文件描述符。`select`函数通过内核检测文件描述符是否就绪,并通知调用者。
|
存储 安全 Java
Java.security包中的KeyStore类详解
Java.security包中的KeyStore类详解
923 0