常见代码:
200 OK 请求成功
301 目标永久性转移
302 目标暂时性转移
400 Bad Request 客户端请求有语法错误,不能被服务器所理解
401 Unauthorized 请求未经授权,这个状态代码必须和 WWW-Authenticate 报头域一起使用
403 Forbidden 服务器收到请求,但是拒绝提供服务
404 Not Found 请求资源不存在,eg:输入了错误的 URL
500 Internal Server Error 服务器发生不可预期的错误
503 Server Unavailable 服务器当前不能处理客户端的请求,一段时间后可能恢复正常
响应头
如内容类型,类型的长度,服务器信息,设置 Cookie 响应体
最主要的部分,包含请求资源的内容,如网页 HTMl, 图片,二进制数据等 能爬取什么样的数据网页文本:如 HTML 文档,Json 格式化文本等
图片:获取到的是二进制文件,保存为图片格式
视频:同样是二进制文件
其他:只要请求到的,都可以获取 如何解析数据直接处理
Json 解析
正则表达式处理
BeautifulSoup 解析处理
PyQuery 解析处理
XPath 解析处理 关于抓取的页面数据和浏览器里看到的不一样的问题出现这种情况是因为,很多网站中的数据都是通过 js,ajax 动态加载的,所以直接通过 get 请求获取的页面和浏览器显示的不同。
如何解决 js 渲染的问题?
分析 ajax
Selenium/webdriver
Splash
PyV8,Ghost.py 怎样保存数据文本:纯文本,Json,Xml 等
关系型数据库:如 mysql,oracle,sql server 等结构化数据库
非关系型数据库:MongoDB,Redis 等 key-value 形式存储 Scrapy简介Scrapy is an application framework for crawling web sites and extracting structured data which can be used for a wide range of useful applications, like data mining, information processing or historical archival.
Scrapy 是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。
Scrapy Tutorial https://docs.scrapy.org/en/latest/intro/overview.html
观察页面结构首先我们打开豆瓣电影 TOP250 的页面,通过观察页面决定让我们的爬虫获取每一部电影的排名、电影名称、评分和评分的人数。 https://movie.douban.com/top250
运行Chrome F12开发者工具,使用选取工具选取整个电影的信息,可以发现,所有的信息都是放在单独的一个 li 标签中的,而且在 li 下还有一个 class 为 item 的 div 包裹着所有的信息。