根据架构图介绍一下Scrapy中的各大组件及其功能:
Scrapy引擎(Engine):负责控制数据流在系统的所有组建中流动,并在相应动作发生触发事件。
调度器(Scheduler):从引擎接收Request并将它们入队,以便之后引擎请求request时提供给引擎。
下载器(Downloader):负责获取页面数据并提供给引擎,而后提供给Spider。
Spider:Scrapy用户编写用于分析Response并提取Item(即获取到的Item)或额外跟进的URL的类。每个Spider负责处理一个特定(或一些网站)。
Item Pipeline:负责处理被Spider提取出来的Item。典型的处理有清理验证及持久化(例如存储到数据库中,这部分后面会介绍存储到MySQL中,其他的数据库类似)。
下载器中间件(Downloader middlewares):是在引擎即下载器之间的特定钩子(special hook),处理Downloader传递给引擎的Response。其提供了一个简便的机制,通过插入自定义代码来扩展Scrapy功能(后面会介绍配置一些中间并激活,用以应对反爬虫)。
Spider中间件(Spider middlewares):是在引擎及Spider之间的特定钩子(special hook),处理Spider的输入(response)和输出(Items即Requests)。其提供了一个简便的机制,通过插入自定义的代码来扩展Scrapy功能。
抓取诊断,抓取成功 (有跳转)是打开上面(没有跳转的网址)就会调整到后面带/index.html 。
网页抓取主要有三个方面:
1、搜集新出现的网页;
2、搜集那些在上次搜集后有改变的网页;
3、发现自从上次搜集后已经不再存了的网页,并从库中删除。
针对某一web目录设置默认首页:
Alias /aidd2008 "D:/php/web/aidd2008"
<Directory "D:/php/web/aidd2008">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
DirectoryIndex default.php
</Directory>
扩展资料:
<marquee>...</marquee>普通卷动
<marquee behavior=slide>...</marquee>滑动
<marquee behavior=scroll>...</marquee>预设卷动
<marquee behavior=alternate>...</marquee>来回卷动
<marquee direction=down>...</marquee>向下卷动
<marquee direction=up>...</marquee>向上卷动
<marquee direction=right></marquee>向右卷动
<marquee direction='left'></marquee>向左卷动
<marquee loop=2>...</marquee>卷动次数
<marquee width=180>...</marquee>设定宽度
<marquee height=30>...</marquee>设定高度
<marquee bgcolor=FF0000>...</marquee>设定背景颜色
<marquee scrollamount=30>...</marquee>设定卷动距离
<marqueescrolldelay=300>...</marquee>设定卷动时间
注:在HTML5中 废弃了只有部分浏览器支持的marquee标签其它还包括applet、bgsound、blink、等标签。
字体效果
参考资料来源:百度百科-网页抓取
自己写一下吧。
给你个思路:
1、首先分析网页、你要抓取的有用数据
</script><h2>热门专栏</h2><dl class="series">
<dt><a href="/column/details/hellopython3.html"><img src="http://avatar.csdn.net/blogpic/20141202154409281.jpg" class="column_logo" /></a></dt>
<dd><a href="/column/details/hellopython3.html">Python 学习笔记</a><span class="visited">浏览量:121855</span></dd>
</dl>
<dl class="series">
<dt><a href="/column/details/datamining.html"><img src="http://avatar.csdn.net/blogpic/20130709094606406.jpg" class="column_logo" /></a></dt>
<dd><a href="/column/details/datamining.html">数据挖掘十大算法系列</a><span class="visited">浏览量:763056</span></dd>
</dl>
<dl class="series">
<dt><a href="/column/details/android-error.html"><img src="http://avatar.csdn.net/blogpic/column.jpg" class="column_logo" /></a></dt>
<dd><a href="/column/details/android-error.html">Android问题集锦</a><span class="visited">浏览量:91315</span></dd>
</dl>
<dl class="series">
<dt><a href="/column/details/linux-zqtsx.html"><img src="http://avatar.csdn.net/blogpic/20141126174249531.jpg" class="column_logo" /></a></dt>
<dd><a href="/column/details/linux-zqtsx.html">Linux技术学习之路</a><span class="visited">浏览量:79713</span></dd>
</dl>
<dl class="series">
<dt><a href="/column/details/niginxsourcelearning.html"><img src="http://avatar.csdn.net/blogpic/20141024145359750.jpg" class="column_logo" /></a></dt>
<dd><a href="/column/details/niginxsourcelearning.html">nginx源码剖析</a><span class="visited">浏览量:188579</span></dd>
</dl>
2、再使用 urllib或urllib2(推荐使用requests)模块,来获取网页原始数据。
3、处理数据。一般使用 re 正则模块
然后你可能会发现 不会requests模块,那就自己找教程学一下。正则也不怎么会,那就找教程学一下。
这个属于很基础的,都是一些静态的数据,而且只有一个页面。
使用 requests 获取数据之后,就成了字符串的处理。使用正则进行匹配。
这些基础的弄好了,就去看 Scrapy框架吧。
那里不会看哪里~~~~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)