我们开始来谈谈python的爬虫。
1.什么是爬虫:
网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。互联网犹如一个大蜘蛛网,我们的爬虫就犹如一个蜘蛛,当在互联网遇到所需要的资源,我们就会爬取下来,即为爬虫是一个请求网站并且提取数据的自动化程序。
2.下面我们来提到两个名词:
1)请求,request即为我们的请求,当我们在浏览器内输入网址,敲击回车时,这时浏览器就会发送消息给该网址所在的服务器,这个过程叫做HTTP Request
2)响应,response即为我们的响应,服务器在接收到浏览器发送的消息后,能够根据浏览器发送消息的内容做出相应的处理,然后把消息回传给浏览器。这个过程就做HTTP Response。浏览器收到服务器的Response信息后,会对信息进行处理,然后展示。
3.Request中包含什么?
1)请求方式,请求方式主要包含get,post,另外还有put,head,delete,options等,但我们常用的、常见的还是get和post请求。
get请求:get请求方式所有的参数都包含在URL地址里,get请求可以直接在浏览器地址栏内输入URL地址,然后直接访问。
post请求:比get方式多包含一个formdata数据,且参数没有在URL地址内。不可以直接在地址栏访问,需要构造一个form表单,进行提交访问。
同时post请求所有参数不显示地址栏内,相对于get请求来说更安全。
2)请求URL,URL全称统一资源定位符,如一个网页文档、一张图片、一个视频等都可以用URL唯一来确定。
3)请求头,包含请求时的头部信息,如User-Agent、Host、Cookies等信息,请求头是一个很重要的参数,在很多爬虫里需要设置请求头信息,
一般权限验证,浏览器类型等信息,如下图所示:
4)请求体,请求时额外携带的数据,如表单提交时的表单数据,一般来说get方式请求时,都没有请求体。
4.Response中包含什么?
1)响应状态,有多种响应状态,如200代表成功,404找不到页面,500服务器错误
扩展:
-1xx :报告的 -请求被接收到,继续处理
-2xx :成功 - 被成功地接收(received),理解(understood),接受(accepted)的动作 。
-3xx :重发 - 为了完成请求必须采取进一步的动作。
-4xx :客户端出错 - 请求包括错的语法或不能被满足。
-5xx :服务器出错 - 服务器无法完成显然有效的请求。
2)响应头,如内容类型、内容长度、服务器信息、设置Cookie等等信息。如图所示:
3)响应体,最主要的部分,包含了请求资源的内容,如网页HTML,图片,二进制数据(视频,图片等)等信息。
我们爬取的数据大部分就是从这个部分获取的
5,我们所需要的环境和资源
1)python环境,最好是python3,python2在2020年就不再维护了,语法还是有一定差异的,我建议使用python3。
2)redis,mongo分关系型数据库,安装过程自行百度。(后期会有专门的博客来说明讲解非关系型数据库)。
3)scrapy环境,pip install scrapy即可安装。
4)Urllib库,Requests库,BeautifulSoup库,PyQuery,Selenium和与其相关联的环境配置(后面我们会逐个来说明每一个库和其操作使用方法)。
总结:爬虫是一个请求网站并且提取数据的自动化程序。有的是通过原生html标签就可以获取到数据,则有的需要通过解析ajax请求来取得数据。
-
[
爬虫实战 | 抓取资讯
准备工作 准备抓取的网址:http://www.guandian.cn/list_cat_tag/ 网页预览: 准备抓取的内容: 资讯标题、发布时间、内容摘要、标签 通过检查网页元素,查看准备抓取的内容分别在网页数据中的哪个节点: 运行环境: Win10、Python3.6、PyCharm 需要用到的python模块: requests —— 请求网页数据 lxml —— 解析
](https://blog.51cto.com/u_15127679/2852131)
java
-
[
爬虫抓取个人课表
爬虫爬取自己的正方教务系统课表。
](https://blog.51cto.com/u_15494922/5104397)
html 正则表达式 linux
-
[
python爬虫文章抓取
原则上不让非人浏览访问,正常爬虫无法从这里爬取文章,需要进行模拟人为浏览器访问。使用:输入带文章的链接自动生成正文的HTML,文件名为标题名#!/usr/bin/env python# coding=utf-8######################################### #> File Name:N_article.py #> Author: neal
](https://blog.51cto.com/u_15953788/6141639)
HTML html Windows
-
[
爬虫抓取动态网页
使用chrome浏览器,启动开发工具, network,双击文件查看文件,采用火车头采集,python做后期开发。Python 抓取动态网页内容
](https://blog.51cto.com/alantop/5748479)
动态网页 python ico
-
[
Python爬虫抓取csdn博客
Python爬虫抓取csdn博客 昨天晚上为了下载保存某位csdn大牛的全部博文,写了一个爬虫来自动抓取文章并保存到txt文本,当然也可以 保存到html网页中。这样就可以不用Ctrl+C 和Ctrl+V了,非常方便,抓取别的网站也是大同小异。为了解析抓取的网页,用到了第三方模块,BeautifulSoup,这个模块对于解析html文件非常有用
](https://blog.51cto.com/u_5675012/1677716)
浏览器 表达式 import 第三方 sleep
-
[
使用selenium爬虫抓取数据
写在前面 本来这篇文章该几个月前写的,后来忙着忙着就给忘记了。ps:事多有时候反倒会耽误事。几个月前,记得群里一朋友说想用selenium去爬数据,关于爬数据,一般是模拟访问某些固定网站,将自己关注的信息进行爬取,然后再将爬出的数据进行处理。他的需求是将文章直接导入到富文本编辑器去发布,其实这也是爬
](https://blog.51cto.com/u_15009374/3148607)
selenium
-
[
使用爬虫抓取网页内容
对于爬虫我们首先想到的是 python,但是对于前
](https://blog.51cto.com/u_11415078/5879544)
js ico 数据 json
-
[
网络爬虫的抓取策略
遍历策略是爬虫的核心问题,在爬虫系统中,待抓取URL队列是很重要的一部分。待抓取URL队列中的URL以什么样的顺序排列也是一个很重要的问题,因为这涉及到先抓取那个页面,后抓取哪个页面而决定这些URL排列顺序的方法,叫做抓取策略爬虫策略主要有以下几种:一,深度优先遍历策略:深度优先遍历测试是指网络爬虫会从起始页开始,一个链接一个链接跟踪下去,处理完这条线路的链接之后,在再转入下一个起始页,继续跟踪链
](https://blog.51cto.com/u_14291507/2378767)
爬虫 ip 代理 动态ip
-
[
Nodejs实现爬虫抓取数据
开始之前请先确保自己安装了Node.js环境,还没有安装的的童鞋请自行百度安装教程… 1.在项目文件夹安装两个必须的依赖包 superagent 是一个轻量的,渐进式的ajax api,可读性好,学习曲线低,内部依赖nodejs原生的请求api,适用于nodejs环境下 cheerio是n
](https://blog.51cto.com/u_13942732/3131722)
nodejs crawler
-
[
python爬虫抓取哈尔滨天气信息(静态爬虫)
环境: windows7 python3.4(pip install requests;pip install Beaut
](https://blog.51cto.com/u_15748605/5566528)
python爬虫 html 打开文件 换行符
-
[
你的爬虫票价价格暴涨
关注公众号:Python爬虫数据分析挖掘,免费获取更多开源项目源码4 月 29 日下午,北京市宣布公共卫生应急响应级别调至二级后。多家OTA网站当日数据显示:消息公布的1个小时内,北京出发的机票预订量较上一时段暴涨15倍,北京进出港机票成交量比前一天同时段增长超500%
](https://blog.51cto.com/u_11949039/2835167)
Python 爬虫
-
[
Python爬虫实现抓取网页图片
Python抓取网页内容
](https://blog.51cto.com/kuing/1709672)
python爬虫 Python抓取贴吧图片
-
[
爬虫之美女图片抓取
import requests ,re,json,pandas as pd,timefrom selenium import webdriver
](https://blog.51cto.com/u_15429890/4644051)
爬虫 python url html desktop
-
[
网页爬虫抓取URL简单实现
关键字:网页爬虫抓取URL简单实现 .//开始…package com.ogilvy.sayes.util; import java.io.InputStream; import java.net.URL; import java.util.ArrayList; import java.util.Hashtable; /*…
](https://blog.51cto.com/u_7450530/6250487)
爬虫 java System html
-
[
爬虫/抓取工具汇总
(1)casperjs 内置完整的浏览器引擎,可以抓取(网页特定内容),交互(提交表单等),做测试工具使用。
](https://blog.51cto.com/u_15057829/3450116)
提交表单 测试工具
-
[
python爬虫抓取妹子图片
1.使用模块bs4requests2.实现思路首先通过requests库的get方法获取对应url地址的Response对象,然后得到content(字节类型信息),解码,并编码为utf-8,再通过bs转换为lxml类型,分析具体的样式,定位到目标图片所在标签,得到图片的src和标题,最后下载妹子图片并保存到本地3.主要接口1.获取妹子图片下载地址和标题这里主要有两点要考虑:1.网页的编码问题2
](https://blog.51cto.com/u_15127499/2674015)
python 爬虫
-
[
python爬虫优快云文章抓取
优快云原则上不让非人浏览访问,正常爬虫无法从这里爬取文章,需要进行模拟人为浏览器访问。 使用:输入带文章的优快云链接自动生成正文的HTML,文件名为标题名 #!/usr/bin/env python# coding=utf-8######################################### #> File Name: 优快云_article.py
](https://blog.51cto.com/u_15127657/3941210)
html linux ubuntu .net firefox
-
[
python 爬虫 抓取文字 爬虫爬取文字
注意:只是文字,其他都行,自己实现吧。 1 import requests 2 from lxml import etree 3 from urllib.request import urlopen, Request 4 5 import time 6 class blog(): 7 8 def __init__(self,url): 9
](https://blog.51cto.com/u_16099210/6315458)
html 分页 HTML
-
[
python 抓取网页内容 python爬虫抓取网页数据
安装requests_htmlpython爬虫需要安装额外的包requests_html解析器,官网地址为(http://html.python-requests.org/) 使用pip命令安装requests_html,打开终端输入:pip3 install requests_html有时可能pip版本过低会报错,安装不上requests_html,可以使用下面命令升级pip至最新版本升级pip
](https://blog.51cto.com/u_12197/6335151)
python 爬虫 html HTML