Python爬虫入门一综述

网络爬虫是一种自动抓取万维网信息的程序。
学习python爬虫,需要学习以下知识:

  • python基础
  • python中的urlliburllib2库的用法
  • python正则表达式
  • python爬虫框架scrapy
  • python爬虫高级功能

1.python基础

廖雪峰python教程

2.python urllib和urllib2库使用

urllib 和 urllib2 库是学习 Python 爬虫最基本的库,利用这个库我们可以得到网页的内容,并对内容用正则表达式提取分析,得到我们想要的结果。

3.python正则表达式

用来匹配文本内容

4.爬虫框架scrapy

学习完基础知识,进一步学习爬虫框架。
scrapy的功能介绍:

HTML, XML 源数据 选择及提取 的内置支持 提供了一系列在 spider 之间共享的可复用的过滤器 (即 Item Loaders),对智能处理爬取数据提供了内置支持。
通过 feed 导出 提供了多格式 (JSON、CSV、XML),多存储后端 (FTP、S3、本地文件系统) 的内置支持 提供了 media pipeline,可以 自动下载 爬取到的数据中的图片 (或者其他资源)。
高扩展性。您可以通过使用 signals ,设计好的 API (中间件,extensions, pipelines) 来定制实现您的功能。
内置的中间件及扩展为下列功能提供了支持: cookies and session 处理 HTTP 压缩 HTTP 认证 HTTP 缓存 user-agent 模拟 robots.txt 爬取深度限制
针对非英语语系中不标准或者错误的编码声明,提供了自动检测以及健壮的编码支持。
支持根据模板生成爬虫。在加速爬虫创建的同时,保持在大型项目中的代码更为一致。
详细内容请参阅 genspider 命令。
针对多爬虫下性能评估、失败检测,提供了可扩展的 状态收集工具 。
提供 交互式 shell 终端,为您测试 XPath 表达式,编写和调试爬虫提供了极大的方便 提供 System service, 简化在生产环境的部署及运行
内置 Web service, 使您可以监视及控制您的机器
内置 Telnet 终端 ,通过在 Scrapy 进程中钩入 Python 终端,使您可以查看并且调试爬虫 Logging 为您在爬取过程中捕捉错误提供了方便 支持 Sitemaps 爬取 具有缓存的 DNS 解析器

scrapy官方文档
scrapy中文手册

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/402208.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python爬虫学习二爬虫基础了解

1.什么是爬虫 爬虫就是进入网页自动获取数据的程序。当它进入一个网页时,将网页上需要的数据下载下来,并跟踪网页上的其他链接,进入新的页面下载数据,并继续跟踪链接下载数据。 2.URL URL,即统一资源定位符&#xf…

第三章:多坐标系

第一节:为什么要有多坐标系 当我们使用一个坐标系来描绘整个场景的时候,场景中的任意点都可以用该坐标系描述,此时如果有一只羊一遍摇动着耳朵,一边走,这个时候如果进行坐标的转换会发现异常的麻烦,此时如果…

Linux 设备驱动开发 —— 设备树在platform设备驱动中的使用

关与设备树的概念,我们在Exynos4412 内核移植(六)—— 设备树解析 里面已经学习过,下面看一下设备树在设备驱动开发中起到的作用 Device Tree是一种描述硬件的数据结构,设备树源(Device Tree Source)文件(以…

Python爬虫入门三urllib库基本使用

urllib是一个收集了多个涉及了URL的模块的包: URL获取网页 urllibtest.pyimport urllib2 response urllib2.urlopen(http://www.baidu.com) print(response.read())运行结果: C:\Python27\python.exe H:/spiderexercise/spidertest/urllibtest.py &l…

使用老毛桃U盘重装Windows10系统

使用老毛桃U盘启动盘重装Windows10系统,这个方法很常用,相比较一些别的方法去重装系统,这个方法更方便更简单,容易入手和掌握。 在重装系统前,先去微软的官网把Windows10的ISO镜像文件下载下来,去别的网站下…

Android 网络通信框架Volley简介(Google IO 2013)

1. 什么是Volley 在这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫过于AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient(Apache)等,今年的Google I/O 2013上&…

Linux 设备驱动开发 —— platform设备驱动应用实例解析

前面我们已经学习了platform设备的理论知识Linux 设备驱动开发 —— platform 设备驱动 ,下面将通过一个实例来深入我们的学习。 一、platform 驱动的工作过程 platform模型驱动编程,需要实现platform_device(设备)与platform_driver(驱动&am…

python使用proxy

使用urllib proxies {http: http://host:port} resp urllib.urlopen(url, proxiesproxies) content resp.read()使用urllib2 import urllib2enable_proxy True proxy_handler urllib2.ProxyHandler({"http" : your_proxy}) null_proxy_handler urllib2.Proxy…

There is no public key available for the following key IDs:3B4FE6ACC0B21F32

ubuntu 运行完sudo apt-get update之后,提示 W: There is no public key available for the following key IDs: 3B4FE6ACC0B21F32 解决方法是执行: sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 3B4FE6ACC0B21F32 参考 linux下apt-get出现“no …

Unichar, char, wchar_t

之前总结了一些关于字符表示,以及字符串的知识。 现在在看看一些关于编译器支持的知识。 L"" Prefix 几乎所有的编译器都支持L“” prefix,一个字符串如果带有L“”prefix,意味着这个字符串中的字符都被作为wide char存储&#xf…

Python爬虫入门四urllib库的高级用法

1.设置headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些 Headers 的属性。 首先,打开我们的浏览器,调试浏览器…

进程上下文、中断上下文及原子上下文

谈论进程上下文 、中断上下文 、 原子上下文之前,有必要讨论下两个概念: a -- 上下文 上下文是从英文context翻译过来,指的是一种环境。相对于进程而言,就是进程执行时的环境; 具体来说就是各个变量和数据,…

HandlerThread用法

区分Handler和HandlerThreadHandler实例可以在主线程创建,也可以在子线程创建。在子线程中创建时通过Looper,以下示例: public class MainActivity extends AppCompatActivity { HandlerThread handlerThread; Override protected v…

PHP快速排序及其时间复杂度

<?phpfunction quickSort(&$arr, $l, $r) {if (count($arr)<2 || $l>$r) return;$tmp_l $l;$tmp_r $r;$privot $arr[$r];while($tmp_l<$tmp_r) {while($arr[$tmp_l] < $privot && $tmp_l<$tmp_r) $tmp_l; //内部没有$tmp_l <$tmp_r的判断…

Python爬虫入门五URLError异常处理

本节在这里主要说的是 URLError 还有 HTTPError&#xff0c;以及对它们的一些处理 1.URLError 首先解释下 URLError 可能产生的原因&#xff1a; 网络无连接&#xff0c;即本机无法上网连接不到特定的服务器服务器不存在 在代码中&#xff0c;我们需要用 try-except 语句来…

Linux 文件系统与设备文件系统 (二)—— sysfs 文件系统与Linux设备模型

提到 sysfs 文件系统 &#xff0c;必须先需要了解的是Linux设备模型&#xff0c;什么是Linux设备模型呢&#xff1f; 一、Linux 设备模型 1、设备模型概述 从2.6版本开始&#xff0c;Linux开发团队便为内核建立起一个统一的设备模型。在以前的内核中没有独立的数据结构用来让内…

Python爬虫入门六Cookie的使用

为什么要使用 Cookie 呢&#xff1f; Cookie&#xff0c;指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据&#xff08;通常经过加密&#xff09; 比如说有些网站需要登录后才能访问某个页面&#xff0c;在登录之前&#xff0c;你想抓取某个页面内容…

有得必有失

上次也说道Ruby on Rails 是一个很不错的框架。本人也想去研究一翻&#xff0c;我已经不再替别人写程序了。 当编程变成一门兴趣的时候&#xff0c;而不是吃饭的依据。我觉得我需要跟着我的心走。 1&#xff1a;我现在的工作环境是在LINUX下&#xff0c;我一次次的折腾mono好吧…

mybatis下log4j使用

1. log4j jar包&#xff08;mvnrepository&#xff09; 2. log4j.properties文件 log4j.properties内容&#xff1a; log4j.rootLoggerDEBUG, stdout, logfile    log4j.appender.stdoutorg.apache.log4j.ConsoleAppender    log4j.appender.stdout.layoutorg.apache…

Python爬虫入门七正则表达式

已经搞定了怎样获取页面的内容&#xff0c;不过还差一步&#xff0c;这么多杂乱的代码夹杂文字我们怎样把它提取出来整理呢&#xff1f;下面就开始介绍一个十分强大的工具&#xff0c;正则表达式 1.了解正则表达式 正则表达式是用来匹配字符串非常强大的工具&#xff0c;在其…