一、什么是爬虫 爬虫就是用程序自动化访问网站并抓取数据。 二、.爬虫的基本流程 1.向服务器发起请求 通过HTTP库向目标站点发起请求,即发送一个Request,请求可以包含额外的headers等信息,等待服务器响应。 2.获取服务器响应内容 如果服务器能正常响应,会得到一个Response, Response的内容便是所要获取的页面内容,类型可能有HTML,Json字符串,二进制数据(如图片视频)等类型。 3.解析服务器响应内容 得到的内容可能是HTML,可以用正则表达式、网页解析库进行解析。可能是Json,可以直接转为Json对象解析,可能是二进制数据,可以做保存或者进一步的处理。 4.保存数据 保存形式多样,可以存为文本,也可以保存至数据库,或者保存特定格式的文件,通常保存到数据库,一般大数据公司都是保存在mangodb 三、.Request详解 1.什么是Request 浏览器就发送消息给该网址所在的服务器,这个过程叫做HTTP Request。 2.Request包含哪些内容 1)请求方式:主要有GET、POST两种类型,另外还有HEAD、PUT、DELETE、OPTIONS等。 2)请求URL:URL全称统一资源定位符,如一个网页文档、一张图片、一个视频等都可以用URL唯一来确定。 3)请求头:包含请求时的头部信息,如User-Agent、Host、Cookies等信息。这个很关键,一般请求大型网站,UA和headers这只不对会不能访问,cookies保持会话也非常重要,比如爬去淘宝,登陆淘宝成功后可以使用cookies去获取订单详情等 四、Response详解 1.什么是Response 服务器收到浏览器发送的消息后,能够根据浏览器发送消息的内容,做相应处理,然后把消息回传给浏览器。这个过程叫做HTTP Response。 2.Response包含了那些内容 1)响应状态码:有多种响应状态,如200代表成功、301跳转、404找不到页面、502服务器错误,一般我会以200来判断网站是否访问成功 2)响应头:如内容类型、内容长度、服务器信息、设置Cookie,可能还有token之类的,服务器用以校验请求是否合法等。 3)响应体:最主要的部分,包含了请求资源的内容,如网页HTML、json,图片二进制数据等。 五、.能抓什么样的数据 1.网页文本:如HTML文档、Json格式文本等。 2.图片:获取到的是二进制文件,保存为图片格式。 3.音视频:同为二进制文件,保存为音、视频格式即可 4其他:只要是能请求到的,都能获取。 六、抓到数据怎么解析 1.直接处理,比如返回简单的字符串 2.json解析,比如返回的内容是json串 3.正则表达式,通过正则表达式去匹配提取的内容 4.BeautifulSoup 专业html解析库 5.Pyquery 6.通过xpath提取