关键词:
爬虫的基本原理:https://www.cnblogs.com/zhaof/p/6898138.html
这个文章写的非常好,把爬虫 的基本思路解释的很清楚的。
一、介绍工具(用什么爬)
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方法。
request基础方法,其他方法在其中分装。
get方法
mthod请求方式有7种,就是HTTP协议里面的7种方法,再加上OPTIONS方法,OPTIONS方法是向服务器获取参数。
**Kwargs
requests库异常
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_encoding print(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_encoding return r.text except: 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_encoding return r.text except: return "404" if __name__ == "__main__": # 证明小明是自己人,不用在执行这段代码 url = "http://www.baidu.com" print(getHTMLText(url))
●涉及到异常处理用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/
爬虫从入门到放弃-纯新手学习-爬虫基本数据库安装
1.安装好前期必备的库-requests向网页发出请求解释器自带的urllib和reselenium用于向有js渲染的网页发起请求fromseleniumimportwebdriverdriver=webdriver.Chrome()#生成一个driver对象,并打开谷歌浏览器driver.get(‘https://www.baidu.com‘) #打开... 查看详情
python爬虫从入门到放弃,网络爬虫应用实战(代码片段)
python爬虫应用Request库get方法Request对象Response对象session会话对象正则匹配re.match()方法例题:bugku-web基础$_POST例题:bugku-速度要快例题:bugku-秋名山老司机例题:bugku-cookies欺骗Request库get方法Pythonrequests库的get()方法... 查看详情
python爬虫从入门到放弃,网络爬虫应用实战(代码片段)
python爬虫应用Request库get方法Request对象Response对象session会话对象正则匹配re.match()方法例题:bugku-web基础$_POST例题:bugku-速度要快例题:bugku-秋名山老司机例题:bugku-cookies欺骗Request库get方法Pythonrequests库的get()方法... 查看详情
python爬虫从入门到放弃,含案例分析,超详细讲解(代码片段)
Python爬虫1、认识爬虫1.1、概述网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者)按照一定规律,自动地抓取万维网信息的程序或者脚本。1.2、应用场景爬取网页优秀的... 查看详情
python爬虫从入门到放弃,网络爬虫应用实战(代码片段)
python爬虫应用Request库get方法Request对象Response对象session会话对象正则匹配re.match()方法例题:bugku-web基础$_POST例题:bugku-速度要快例题:bugku-秋名山老司机例题:bugku-cookies欺骗Request库get方法Pythonrequests库的get()方法... 查看详情
爬虫入门的基本原理,如果你连这些都不知道那你可以放弃爬虫了
我们天天到处看到爬虫爬虫的,你了解爬虫是什么吗?你知道爬虫的爬取流程吗?你知道怎么处理爬取中出现的问题吗?如果你回答不出来,或许你真的要好好看看这篇文章了!爬虫简介网络爬虫(Webc... 查看详情
python爬虫从入门到放弃(十三)之scrapy框架的命令行详解(代码片段)
...0.html这篇文章主要是对的scrapy命令行使用的一个介绍创建爬虫项目scrapystartproject项目名例子如下:localhost:spiderzhaofan$scrapystartprojecttest1NewScrapyproject‘test1‘,usingtemplatedirectory‘/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-pa... 查看详情
python爬虫从入门到放弃,含案例分析,超详细讲解(代码片段)
Python爬虫1、认识爬虫1.1、概述网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者)按照一定规律,自动地抓取万维网信息的程序或者脚本。1.2、应用场景爬取网页优秀的... 查看详情
python零基础入门爬虫原理与数据抓取-通用爬虫和聚焦爬虫(代码片段)
根据使用场景,网络爬虫可分为通用爬虫和聚焦爬虫两种.通用爬虫通用网络爬虫是捜索引擎抓取系统(Baidu、Google、Yahoo等)的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的... 查看详情
python零基础入门爬虫原理与数据抓取-通用爬虫和聚焦爬虫(代码片段)
根据使用场景,网络爬虫可分为通用爬虫和聚焦爬虫两种.通用爬虫通用网络爬虫是捜索引擎抓取系统(Baidu、Google、Yahoo等)的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的... 查看详情
scrapy框架爬虫爬取糗事百科之python爬虫从入门到放弃第不知道多少天
Scrapy框架安装1.windows10下安装Scrapy框架: 前提:安装了python-pip 1.windows下按住win+R输入cmd 2.在cmd下输入 pipinstallscrapy pipinstall pypiwin32 这个必须安装,是win下运行scrapy的依赖 ... 查看详情
爬虫基本原理(代码片段)
一、爬虫是什么 1、什么是互联网 互联网是网络设备(网络、路由器、交换机、防火墙等等)和一台台计算机连接而成,像一张网一样。 2、互联网建立的目的 互联网的核心价值在于数据的共享/传递:数据是存放... 查看详情
爬虫基本原理讲解(代码片段)
(一)简介今天,我们将对爬虫的基础知识做一个基本的梳理,以便大家掌握爬虫的基本思路,爬虫即为网络资源数据获取,用一句话概括就是:请求网站并提取数据的自动化程序爬虫的基本流程分为四步:在第一二步Reques... 查看详情
爬虫基本原理(代码片段)
目录一、爬虫的定义 一、爬虫的定义基本上网: 浏览器提交请求->下载网页代码->解析/渲染成页面。 爬 虫: 模拟浏览器发送请求->下载网页代码->只提取有用的数据->... 查看详情
python爬虫入门教程54-100博客园等博客网站自动评论器(代码片段)
爬虫背景爬虫最核心的问题就是解决重复操作,当一件事情可以重复的进行的时候,就可以用爬虫来解决这个问题,今天要实现的一个基本需求是完成“博客园“博客的自动评论,其实原理是非常简单的,提炼一下需求基本需求... 查看详情
python爬虫从入门到成妖之3-----scrapy框架的命令行详解(代码片段)
创建爬虫项目scrapystartproject项目名例子如下:E:crawler>scrapystartprojecttest1NewScrapyproject‘test1‘,usingtemplatedirectory‘d:\python36\lib\site-packages\scrapy\templates\project‘,createdin:E:crawler 查看详情
python爬虫入门(代码片段)
python爬虫入门(3)BeautifulSoup库入门文章目录python爬虫入门(3)1.安装及测试安装测验2.BeautifulSoup库基本元素①html标签②库的引用③BeautifulSoup类BeautifulSoup库解析器BeautifulSoup类的基本元素获取Tag获取Name获取Attributes获取NavigableString获... 查看详情
爬虫基本原理(代码片段)
阅读目录一爬虫是什么二爬虫的基本流程三请求与响应四Request五Response六总结一爬虫是什么#1、什么是互联网?互联网是由网络设备(网线,路由器,交换机,防火墙等等)和一台台计算机连接而成,像一张网一样。#2、互联网... 查看详情