几行代码实现爬虫

简介: 使用 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


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

相关文章
|
SQL 分布式计算 DataWorks
调度参数在MaxCompute的使用
本文主要讲解如何测试DataWorks调度参数在MaxCompute上使用
5080 0
调度参数在MaxCompute的使用
|
存储 小程序 JavaScript
【微信小程序】-- 表单组件 - picker 实现日期选择器(五十三)
【微信小程序】-- 表单组件 - picker 实现日期选择器(五十三)
2022年超详细如何使用Xftp连接CentOS 7来进行文件的传输【详细过程、图解】
这篇文章提供了使用Xftp工具连接到CentOS 7虚拟机进行文件传输的详细步骤和图解。步骤包括打开Xftp软件、创建新连接、查看并填写虚拟机的IP地址、输入虚拟机的连接账号密码,以及连接成功后进行文件传输。文章最后以"现场手撸、学无止境"作为结束语,鼓励读者不断学习和实践。
|
存储 分布式计算 数据库
阿里云国际版设置数据库云分析工作负载的 ClickHouse 版
阿里云国际版设置数据库云分析工作负载的 ClickHouse 版
|
Java API 数据库
Java后端架构设计:从单体到微服务的演进
Java后端架构设计:从单体到微服务的演进
|
Oracle Java 关系型数据库
聊聊 datax 的 OceanBase 数据同步插件 ||批处理参数 rewriteBatchedStatements=true&useCursorFetch=true
聊聊 datax 的 OceanBase 数据同步插件 分析下批处理参数 rewriteBatchedStatements=true&useCursorFetch=true 对大规模数据读写的性能影响
聊聊 datax 的 OceanBase 数据同步插件 ||批处理参数 rewriteBatchedStatements=true&useCursorFetch=true
|
机器学习/深度学习 数据采集 数据可视化
基于聚类和回归分析方法探究蓝莓产量影响因素与预测模型研究附录
k均值聚类模型多元线性回归模型随机森林模型在数据分析项目中,选择合适的模型是至关重要的。本项目中,我们采用了三种不同的模型来分析蓝莓的生长条件和产量,以确保从不同角度全面理解数据。一、K均值聚类模型K均值聚类模型是一种无监督学习方法,用于根据数据的相似性将样本分成不同的组。在这个项目中,我们使用K均值聚类模型来识别具有相似特征的蓝莓品种。通过聚类分析,我们将蓝莓分为4个类别,每个类别代表了不同的生长条件和产量特性。这种分类有助于我们理解在不同环境条件下,哪些因素对蓝莓产量有显著影响。
395 0
基于聚类和回归分析方法探究蓝莓产量影响因素与预测模型研究附录
|
Java 编译器 Kotlin
Kotlin 中编写静态方法的方式详解
Kotlin 中编写静态方法的方式详解
579 0
|
Linux
CentOS 7.x时间同步服务chrony配置详解
文章详细介绍了在CentOS 7.x系统中如何安装和配置chrony服务,以及它与ntpd服务的对比,强调了chrony在时间同步方面的高效性和准确性。
1176 2
CentOS 7.x时间同步服务chrony配置详解