爬虫从入门到放弃——爬虫的基本原理

 2023-09-11 阅读 31 评论 0

摘要:爬虫的基本原理:https://www.cnblogs.com/zhaof/p/6898138.html 这个文章写的非常好,把爬虫 的基本思路解释的很清楚的。 一、介绍工具(用什么爬) python为什么叫爬虫?1、Python IDLE就是用了创建、运行、测试和调试python的工具。 集成开发环境

 爬虫的基本原理:https://www.cnblogs.com/zhaof/p/6898138.html

这个文章写的非常好,把爬虫 的基本思路解释的很清楚的。

 

一、介绍工具(用什么爬)

python为什么叫爬虫?1、Python IDLE就是用了创建、运行、测试和调试python的工具。

集成开发环境:用于程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。就是集成了代码编写功能、分析功能、编译功能、debug功能等一体化的开发软件套。

后面我学习python,老师教的用得这几个工具,后面会一 一介绍。

网络爬虫的原理。文本类:

IDLE:是Python 自带、默认、常用、入门级的Python编辑工具。对于入门、要求功能简单,代码不超过300行的同学,这玩意儿就很实用。

sublime text :专门为程序员开发第三方专用程序员工具。编写体验好,专业程序员喜欢。

集成类工具

wing :收费、调试丰富、版本同步,适合多人共同开发。

爬虫工具是什么?visual studio &PTVS :微软提供、调试丰富。

Eclipse pydev :开源IDLE开发工具,要有一定的开发经验。

PyCharm:简单、集成度高,适合复杂项目。

abaconda:开源免费、支持800个第三方库。

 

爬虫的方法和步骤?2、爬取数据用到的工具

requests:用来爬取HTML。页面、自动提交请求的。(模拟人的动作)

robots 协议:网络爬虫协议,去爬取东西时要遵循的规矩。

beautiful soup :把爬取回来的东西解析了

正则表达式:用来提取已经解析好的,你要的东西。

爬虫原理与数据抓取, 

3、一系列的安装

安装requests库(前提要有pip),百度里面有很多安装教程。

二、requests库的介绍

requests库的7个主要方法 ,网络安全限制,更多用得用得是GET方法。

java爬虫入门, 

request基础方法,其他方法在其中分装。

get方法

爬虫教程、mthod请求方式有7种,就是HTTP协议里面的7种方法,再加上OPTIONS方法,OPTIONS方法是向服务器获取参数。

                         **Kwargs

 

爬虫python的爬取步骤,

 

requests库异常

 

python爬虫有什么用?    

 

response 对象属性

 

# GET        全部信息
# HEADER     仅头部信息# Put        全部重置 
# Patch      局部更新              ## 更改操作用户
# POST       后面添加新内容         ## 搜索使用
# DELETE     删除全部import requests''' 
r = requests.get("http://www.baidu.com")      # 获得全部文本信息 uRL对应的页面内容
print(r.headers)                              # 头部信息
print(r.text)                                 # seem is also all information
'''# requests.head
'''
r2 = requests.head("http://www.baidu.com")       # just head information
print(r.headers)                                 # head information
print(r2.text)                                   # no ! because just get the head information
'''#
payload = {"key1":"value1","key2":"value2"}
r3 = requests.post("http://www.baidu.com",data=payload)
print(r3.text)

 

百度爬虫原理、---------------------------------------------------------------------------------------------------------------------------------------------------  分割线

  

三、HTTP协议

我们去爬URL,就得知道URL遵循HTTP协议,

 http 协议对资源的操作,http协议和requests库方法一一对应。

爬虫原理概念。 

四、robots协议

爬虫需要遵循的规则,告知你那些能爬,那些不能爬。

爬虫怎么学、 

 
'''
import requests
r = requests.get('https://item.jd.com/13115733485.html')
print(r.status_code)
print(r.encoding)
print(r.text)
''''''
import requests
url = 'https://item.jd.com/13115733485.html'
try:r = requests.get(url, timeout=30)r.raise_for_status()r.encoding = r.apparent_encodingprint(r.text[:1000])       #显示前1000的字符
except:print("404")
'''import requests
def getHTMLText(url):try:r = requests.get(url,timeout = 30)r.raise_for_status()   # 如果状态是200,引发异常r.encoding = r.apparent_encodingreturn r.textexcept:return "404"if __name__ == "__main__":       #证明小明是自己,不用在执行该代码了url = "https://item.jd.com/13115733485.html"print(getHTMLText(url)[:1000])

 

五、response 库 用来获取网站信息

import requests
r = requests.get("http://www.baidu.com")print(r.status_code)           # HTTP请求的返回状态,200表示连接成功。404表示失败
print(r.text)                  # HTTP响应内容的字符串形式,即,uRL对应的页面内容。
print(r.encoding)              # 从HTTP header中猜测的响应内容编码方式
print(r.apparent_encoding)     # 内容中分析出的响应内容编码方式
print(r.content)               # 响应内容的二进制形式 (处理图片,视频等使用)

r.encoding = r.apparent_encoding # 转化编码   r.apparent_encoding  根据它的结果转码
print(r.text)

 六、通用代码框架

def getHTMLText(url):try:r = requests.get(url,timeout = 30)r.raise_for_status()   # 如果状态是200,引发异常r.encoding = r.apparent_encodingreturn r.textexcept:return "404"if __name__ == "__main__":      # 证明小明是自己人,不用在执行这段代码url = "http://www.baidu.com"print(getHTMLText(url))

python爬虫基础教程?●涉及到异常处理用Python的 try -- except 语句。

try语句里面有四句,第一句是get方法、第二句判断是否链接异常、第三句用表兄弟替代encoding去找编写格式,第四句返回内容。

●def 是自定义函数的意思

●if __name__ == '__main__' 

通俗的理解__name__ == '__main__':假如你叫小明.py,在朋友眼中,你是小明(__name__ == '小明');在你自己眼中,你是你自己(__name__ == '__main__')

if __name__ == '__main__'的意思是:当.py文件被直接运行时,if __name__ == '__main__'之下的代码块将被运行;当.py文件以模块形式被导入时,if __name__ == '__main__'之下的代码块不被运行。

相信参考这里:https://blog.csdn.net/yjk13703623757/article/details/77918633/

 

转载于:https://www.cnblogs.com/heshen175/p/9947174.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/44178.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息