00:00
好,我们继续来上课,那么这节课呢,我们再来自己去模拟刚才这个采集程序,我们自己来去写一个采集,那么首先我们要写采集的话,我们就要想第一件事干嘛,第一件事你是不是在给我这个采集页面的这个地址,对吧?比如说我们这里边就以第一页为例啊,我们就采集第一页的所有内容好了,那这是我们的第一页,来看是不是第一页,对吧?那么你是不是先给我这个地址,我打开这个地址以后,我通过这个地址来干嘛,获取所有的这段内容吧。对不对,哎,找到这段内容,我是不是要获取这里边的每一个什么,每一个Li标签中的这个A标签对吧?出说不应该是什么,应该是这里边的每一个链接对吧?那有了这个链接以后,我是不是就可以打开这些链接,打开这个链接,比如说我拿到了这个链接,那么一点击打开这个链接,是不是就打开了对应的它的文章内容了,那么接下来是不是就匹配的内容匹配出来保存性就可以了,哎,所以在这里边我们来。大概的去写一下他的思啊。来右键新建一个PP的文件啊,叫做零七采集好了,然后在这里边我们第一件事干嘛,是不是打开。
01:02
需要采集什么呀,这个文章的需要采集内容。或者文章,文章的列表页面列表页面对吧,比如说这里边我来定义一个URURL等于什么呢?就等于刚才这个地址,哎,不是这个地址。来复制一下啊,这里边这个地址好给他复制过来对吧,那这个时候怎么打开,是不是需要打开文件了,哎,那么其实我们在这个。这个里边已经用过了,来你看好了,在零七这里边我们是不是要去读取一个文件呢,对不对,那么也一样,我通过它也能读取这个网页的内容,那么包括我通过它也能去写入到文件中保存啊,所以说这里边来零七采集。我们把它改个名啊。908。啊啊,所以我们打开它以后啊,打开它以后第二件事干嘛,第二件事是不是匹配。
02:03
所有。不能说所有文章。列表页不是文章列表中的什么呀,中的这个超链接是不是打开要匹配这些超链接,那么匹配到这些超链接以后干嘛,是不是在一样,那么这个操链接我要一匹配肯定是多个的,对不对,所以我肯定要便利,那就是循环打开每一个什么呀,每一个文章。内容的链接吧,对不对?哎,这个超链接是不是就是所有的文章内容的链接,是不是这个意思,哎,那么循环的去打开每一个文章内容链接,那接下来干嘛,接下来是不是就要去匹配这个文章的标题,对吧,然后呢再来匹配文章。是吧,内容对吧,都匹配完以后干嘛呢?是不是写入到文件中保存呢?写入到文件中保存是不是就完事了?哎,那OK,那好了,那咱们先来看啊,第一件事我们要去打开它,那么打开它怎么打开我们使用fill。
03:07
这个get-content对吧,你要打开谁,我要打开这个URL,打开这个URL以后,它会给我返回一个什么,返回一个字符串,对不对,那咱们来看啊,我在这里面来输出这个字符串,这个字符串是不就是这个页面啊,来看一下了。这里边注意我要通过我自己的地址对吧,在这里边ONLINE01LESSON15好,后面不要了,应该是个零八采集。加PP。走你那你看这是是我访问地址的,访问自己的,访问自己的,现在是不是也拿到了这个页面,拿到这个页面,为什么这个页面能显示出效果呀,因为在这个页面当中,你要看它所有的CSS样子是不是都是网络地址,所有的图片。Image是不是都是网络地址对不对,那只要是这些都对,那我打开的时候是不是就能看到这样的效果了,哎,但实际上我拿到什么,拿到是不是就是一个字符串对不对?那拿到这个字符串,那接下来干嘛,接下来我是不是就要在这个字符串当中,也就是说现在我看到这个页面,在这里边来查看网页代码,我是不是要在这里面去匹配谁,是不是要把这些地址都匹配出来。
04:07
对不对,但是我匹配它好匹配吗?不行吗?我是不是得先第一步先干嘛,先把整个列表先拿到啊,拿到以后我再从列表中再匹配这个地址,是不是就更精确了,对不对?所以这里边准确的说,我要匹配所有文章中的这个车链接的第一件事儿,我需要干嘛?二-一需要的是先匹配。文章列表的内容对吧,哎,匹配到那列表内容以后再来,第二个是干嘛呀,匹配。列表。内容中到文章地址的链接了,是不是这样的?链接啊好了,那匹配这个列表的内容,我先定义一个糟了。List的PA-PA等于斜线大S小S,大S干嘛,是不是加速匹配小S呢?小S是不是可以让点匹配到什么匹配到换行啊,因为这里边肯定会换行,对不对?哎,所以在这里边我先去找刚才我们是不是拿的这一句,这一句是不是就是这个页面中唯一的部分。
05:09
没错吧,哎,那好了,也就是从这儿开始,然后括号点星问是我要的,后面到哪结束还不知道对吧,我们先把它搞定了啊,这里边一样杠S加。给他转移。这里边也一样,杠X加,杠X加是不是有一一个或多个空白啊,哎,这里边一样杠X加,然后这还有双引号也给它转移了吧,好,那这块完事了,到哪结束呢?那我是不是得找结束的位置,那再来看结束的时候,刚才我们看到是从哪是不是到这儿对吧?但是到这肯定不行,我们应该给他到哪到到下一句,下一句的时候我们给他来。CTRLC。把它粘过来看看是不是这里边也依然是唯一的,对吧,那是唯一的我就能精确匹配到中间这一部分内容了吧,那好了,那现在我们再来到这。到这结束,那到这结束也一样,这里边啊给他。
06:00
杠S加。转移这块一样杠S加。这也一样,杠S加。杠S加,哎,每一个带带空格的我都给它杠S加了,然后再转移好了,那这个正则我是不是就搞定了,那么搞定以后接下来是不是要匹配了,对吧,那PI-m MAT ch对吧,然后到了。List parent跟谁匹配,是不是跟这个str匹配,把匹配到的这个列表的这个much是吧?放到这个数组里边,然后我们来打印这个much来看一下啊,好了,List much好了,我们来打印它,这个时候你看我拿到的是不是列表online这里啊,刷新来,你看是不是拿到列表了,对吧?其中括号里边的内容是不是就是我们要的这些内容啊。对不对,那这回我再从这个内容中去匹配谁,是不是去匹配A标签就可以了,对不对,匹配这段内容是不是就能找到什么,就能找到它了。没错吧,哎,我要了,最终要了谁就要的这个地址,所以我把它这块内容啊看好了,我CTRLC复制一下,那接下来第二帧我开始匹配地址对吧,那匹配地址的话,也就是说到了con文章啊article吧,A文章的这个。
07:12
告。URL-PA等于斜线,好了,把它拿过来啊,拿过来以后一样大S小S。还是要它能匹配到点对吧,其中整个这一段地址是不是围绕的,诶好给他一个点星问好了,那前面呢,继续杠S加这个双引号,我们一样给它转移。转移这里面继续杠S加,然后这块也给他转移好了没了对吧,那这是我匹配地址的链接,匹配地址链接要跟谁匹配,是不是要跟。这个里边的一来匹配对吧,也就是刚才我们打印的这里边的一吧,哎,跟他进行什么进行匹配,那么匹配完以后,是不是他不能光匹配一次,是不是要匹配所有啊,哎,所以这里边我需要用到什么呢?用到这个叫做。
08:03
PG-ma普ma做匹配作用,哎拿谁呢?拿这个ale的一个正则,跟谁呢?跟这个list。Much的一进行匹配,把匹配到的所有文章的链接A。CLE。的URL,所有文章链接是不是给他,哎,给到他以后,现在我们再来看VRDP打印到了article的URL,那你看这个时候我拿到的是不是所有文章链接。这是不是正常所有的语句下边是不是就是所有的文章链接,那么这里面咱随便任意一个复制出来啊,你看好了,CTRLC我在这里边来打开CTRLV,打开以后你看是不是就是对应的文章。对不对,哎,所以接下来干嘛,我既然拿到的是一个数组,而且我要的是哪个数组,是不是这里面的一下标一下标是不是就是我括号里的东西,哎,我要这个数组,那这个时候你再来看,我再来刷新,你看是不是就要它,哎拿到它以后是不是循环打开它就行了,对不对,那也就是说在这里边我需要把它注释掉了啊。
09:02
这些资料了,接下来循环打开每一个链接啊,那。E ch循环循环谁呀?AT里面的E对吧,然后as Dollar k指向着Dollar v,好那。完事对吧?哎,每循环一个Dollar v是不是就是一个地址呢?那咱们来看啊,在这里边我直接VR打印了啊VRDP打印第16行的Dollar v,我们看Dollar v是不是就是刚才我们看到的地址。是不是就是地址对吧,那是这个地址,我是不是一样要循环打开对吧,所以这里面。叫做一。叫三-一循环。打开每一个。每一个文章内容的链接对吧,所以这里边我应该调A。啊,等于什么呢?等于这个叫做feel get cons再次打开,这回打开了谁呀,是不是打开了到威亚,哎打开以后,那你再来看啊,我是不是就相当于拿到了一个文章,比如说这里边我来输出输出一个这个。
10:06
Article输出完以后,我就exit什么意思呢?就是结束脚本的执行啊,就停止了,那这个时候你看啊,我再来刷新,我是不是可以拿到一篇文章,看到了吧,那能拿到一篇文章,因为它是循环的,我就可以拿到多篇文章,那接下来干嘛,我是不是就要在这篇文章里边去匹配他的。标题对不对,匹配完标题以后再来干嘛,是不是匹配它的内容啊。没错吧,哎,所以在这里边我来定义这个标题的正则,那到了T-PN等于等于什么呢?等于这也一样,大S小S,然后给它这个标题,那标题是什么东西,你看标题是不是直接匹配这个黑头标签就行了,对不对?哎,而且黑头标签是页面中唯一的一个,对吧?所以这里面我直接把它复制过来,复制过来中间的内容肯定不能是这句话了,对吧?所以把它删掉啊。删掉删掉删掉删掉删掉好了,删掉以后就这里面括号点星。
11:00
问,是不是非判断文字匹配所有,然后该转移的地方我们给它转移对吧,好了,那现在完事以后,那标题我们就已经搞定了,对吧,但是这里边。这里边转移了啊,转移了没问题好了,那接下来呢,接下来是不是就是匹配内容呢,那内容呢,叫做Dollar c。TNT-PA也等于。最后。谢谢。大S小S。分号结束,为什么他这块会有报错呢。啊,报错原因是这块我注释了啊好,这回就好了啊。来,再来。双引号单引号好,然后这里边我要匹配内容,匹配内容一样,我最终还是要匹配中间的内容点星闷对吧,但前面从哪到哪啊,是不是从要找内容。我们内容刚才看到了是从哪儿啊。是不是从,哎,但是从这开始的,对吧,那CTRLC我们来。CTRL。
12:00
这也是唯一一个对吧,包括这块是也是也是一个标题啊,哎,那好了,匹配这个内容从这开始,因为我知道中间这段内容吧。然后把它翻过来啊,到哪结束呢,一直到。到这儿就是内容完事,两个P对吧,两个P完事也就到这块开始,到这结束呗,好,我们给他复制到这看RC。这个位置结束,但是这个位置是唯一的吗?我们还不确定对吧,所以我这里边需要给它CTRLV查找一下,诶确实是唯一的,好,那你就到这结束了啊,那接下来呢,这里边该转移的地方,我们去给它转移下转移。然后这个剩下号我们也给他转一把,然后在这里边。给空,有空格的地方我们一样规范一点,杠S加啊。然后这里面也是。杠S加。转移。转移杠S加。转移。转移。好了没有了,对吧,大S小S啊好,那我的这个正则是不是也搞定了,这个里边为什么始终都是不好使呢T。
13:08
TLE2个title对吧,我们重写一下啊,它怎么老不好使呢?来斜线,这没问题,匹配t tle title标签,结束的title标签,然后给他来一个转移好了,然后。大S小S。这里面括号点。星问。应该没有问题啊,应该没有问题,好了,那就开始匹配标题吧,PI杠。Ma ma ch对吧,然后呢,在这里边,这里边我只为了要它的内容,那还是留着吧啊,然后这里边我们要要正则表达式是它跟谁匹配呢?是不是跟这个Dollar了Dollar了article来匹配呀,哎,然后呢,把匹配到的结果放到哪里,是不是放到这个Dollar了啊,比如说叫做标题,那ts titles里面啊,放到了这里面对吧,然后同样这里边也一样。
14:02
内容,PI-ma ch。然后。还是跟con content parent进行匹配,还是跟article来匹配,对吧?跟我的内容来匹配,然后把匹配到结果我就放到con里边,S嘛,也加个S放到这里边来了,对吧?哎,那因为这个页面呢,它就是一个标题和一段内容,所以我就匹配一次就可以了,对吧?那匹配到以后我们就来看一下这两个数据对不对呢?来未来方dip,我们来打印谁啊,Dollar t。Les,这是一个在VR跟BP再来打印,谁呢包了cons,这是标题和内容,那它是循环的啊,所以它就会打印出很多对吧,来刷新。那你看。这是标题,这是内容对吧?其中这个标题一是不是就是我们要的,或者这个零也行,对吧?我们直接要零吧,要零带标签的对吧?而这个内容的内容,这些多余的标签是不就不要,所以内容我是不是只从这开始一直到结尾啊,对不对?诶,当然他没给我显示全嘛,你看啊,那也就是说这里边我们只需要要干嘛拿它的内容就可以了啊,那拿它的内容和标题,那最终我是不是要给它写入到文件中保存,那好了,在这里边我来拼接一个字母串啊,Dollar con等于什么呢?等于Dollar,呃,Content,不对,是标题,先是标题title titles里边的零,因为它是一个数组对不对?黑S是不是一个数组,要里面的零是不是带标签的?哎,带标签的和谁呢?和这个再连上,连上谁连上到了con。
15:29
TTS里面的一,因为一里面是不带标签的内容的,一是不是不带标签的对吧,不带原有的这些标签啊,所以我拿这两个给它拼接成一个字符串对吧?拼接完以后这是不是就有一个字符串啊,有一个字符串干嘛,我写入到文件里面。Put-cons写入到文件中进行保存,保存谁要往里面写,谁是不是写这个C的,但是你往哪写往哪写,我是不是得有个路径了,行,比如说当前目录,我们创建一个叫什么呢?叫做这个采集的目录啊。新建一个。
16:01
文件叫做采集的目录,好了,有了这个采集的目录以后,在采集目录下,咱是不是比如说第一个文章就叫1.0码,那第二个文章就叫2.0码,是这个意思,哎,所以这里面我来。一点赫德莫勒赫特莫勒H。Pml对吧,那这个一我是不是就是做成一个变量就可以了,哎,来分割分割谁呢?分割一个,比如说我们这里边来一个这个I吧,啊来一个糟了I Dollar这个变量对吧?但是每次循环或者我不用Dollar来也行,我用Dollar k行K是不是就是下标啊对不对?哎,所以这里边那我就用K吧,就不用再去声明变量,那那就是Dollar k加一啊到了K第一次不是零嘛,对吧,零加一,那不就是一嘛,从一到20是不是一的码,一直到20的X码,因为这一页这一个页面中就有20篇文章,对不对,那好了,那现在完事,我们看可不可以啊,来这里边我们再次来刷新。完事了,完事,我看采集这里边来一到20篇文章,是不是进来了,进来以后来打开1.a码。
17:03
来看一下。内容是不是拿过来了,看所有的内容是不是过来了,哎,那同样这里边任意一个,比如说最后一篇文章是不是就是第二十来打开20看一下,20里边有谁有这个安全狗对吧?那好,我们看原有的文章里边有没有来找到这里边,在这里边。第20是不是他呀,是不是安全狗,你看再打开。看到了吗?是不是安全狗是不是一模一样的,那这个时候我是不是就把他的文章的内容都采集到哪儿了,是不是都采集到我自己的本地来了,对不对,只是我是通过文件方式存储的,那么像刚才是通过数据库方式存储,是不是就相当于直接保存到数据库里了?哎,那现在我没学数据库是没办法去做的,对吧?那么一样,那你要想采集序列网址呢?要想采集序列网址,那是不是这个网址你再让它循环,里边所有的这些内容都让它进行循环,是不是就可以了。对不对,哎,这就是咱们这个采集啊,好了,那这节课我们到这里。
我来说两句