【游记】记清北学堂国庆刷题班

本渣渣表示自己十分蒟蒻又想考好NOIP于是就参加了清北的国庆刷题班。

Day 0

9月30号一大早逃了一天课坐动车。坐地铁。坐公交。一整天。华北电力大学。逃了一天课。
晚上?开车。

Day 1

然后睡了一觉就10月1号了。既然是刷题班于是就刷题吧。zhx神犇出的一套题。
第一题,大模拟,十分钟敲上走人。
第二题,定义 f(n) 为斐波那契数列第 n 项,但是要求的是f(f(n))
f(n) 这种东西,也就是矩阵快速幂了。但是 f(n) 增长的还是挺快的。一看数据范围, 10100 ,瞬间爆炸。这么大的数,肯定高精度啊。高精度啊。高精度啊。sb一样敲了一个小时调了半个小时, n=24 ,GG。

对于 15% 的数据, 1n15
对于 40% 的数据, 1n90

90 咋也能跑到吧……有个取模, 109+7 ,肯定有循环节啊,跑出来要 1018 吧,这考完试也跑不出来啊。而且里面的又不能取模算,这这这……
然后就剩一个小时了开始看第三题。
这题限制条件还真是多,有好多个人分成守门员、前锋、中锋、后卫,然后组个球队,其中每种队员的个数还是可变的,总共还是11个人,每个人有价值,还得选个队长价值算两遍。要求总价值最大也就算了,还要求方案数。
一眼看出来是个DP不过这条件也太多了吧……还200个人。不管了, dp[i][j][k][l][p][q] 表示选了 i 个守门员,j个前锋, k 个中锋,l个后卫,最大价值为 p ,选到了第q个人的最大价值和方案数。对于球员分类然后dp式乱搞一下吧。代码写的不能看完全意识流,也没算时间代价,测了一下样例,居然出数了,只是差的又点多而已么。不行这题有点恶心。可能还是T2比较有希望吧。
回去看T2,感觉高精度的话压位也是够了,就是不知道是咋的了快速幂挂了。试着调了一阵子,剩十分钟了,拉倒吧。
GG。
于是下午zhx神犇现场测成绩。开着投影。
HeRaNO拿了140。自己100滚粗。
看了一下,T2没输出,连20分都没拿。T3,算了吧。
据说long long能存下 f(90) ,好像是啊,这不就40了么。
我真是sb。
然后讲题发现自己真真切切的是sb。为啥就觉得模数太大呢,不试试怎么知道呢。才 2000000016 就出循环节了啊,然后 f(f(n)) 也是有循环节的。只见一个大神拿了100。
T3的话,其实可以先排个序,这样的话选出来的最后一个人就是队长了,就不用加那么一维了,而且状态确实是长成那个样子的。不行辣,没时间了,着急也写不出来。贪心没骗到分我咋有点幸灾乐祸。
鉴于T2的熊样,zhx就讲打表。其实按照我想的打表,好像的确是打不出来的,这道题只需要判断一下两个数取模后回到了 11 就可以了。想当年打了个4个G的表妄想交到学校OJ上,也是too young too simple。真是最辣鸡的打表啊。主要讲了一下考试的策略神马的,感觉其实自己其实还好,就是不喜欢冰红茶喜欢可乐罢了。
晚上是骗分的技巧。主要是大暴搜的减枝优化。可行性剪枝一定要有的,最优化的就得具体情况具体分析了。看了一下杀菌计划。杀蚂蚁。灭鼠计划。果然是连代码能力的好题啊。再见吧我不要写。
于是第一天滚粗了。晚上补了一道原来的水题,又开车。

Day 2

一大早上又考试。希望能做的好一点吧。
T1是改装版汉诺塔。有 n 个柱子n个盘子大小从 1 n,每次只能在相邻的柱子上移动,多次给定初状态,询问将圆盘按照大小从 1 n的顺序从左到右依次放在柱子上所需要最小的步数。
想了一下,好像就 n=2 ,顺序是 21 无解,剩下的,感觉都好大,可能有子结构吧,但是感觉只有搜索可做。数据范围, n7
???
害怕。第一题出搜索?不太敢写了。跟昨天T1比一下,应该不是那种巨难写的吧。先放着。
T2给了个矩阵,操作是折叠,折叠后每个方格的分数是所有和这个方格重叠的方格中数的和。求最高分数。
手推了几个例子,折叠的话,要么这个方格啥也不放,要么它折叠只能折叠到这一行或列的 i+2k+1(kN) i 为原来位置)去。而且,横竖折叠的先后顺序并没有关系。
数据范围,n20,m500
难道状压?这折来折去状压个毛。不过20的话,貌似可以枚举啊,剩下500,应该是DP吧。口胡了一个差不多要 m2 的DP,枚举折到的点,从后往前做。测了几个小数据,好像没毛病。干大数据。
TLE了。 20100 还是稳过的,看了一下,有70分。先这样吧。
T3,有一棵树,支持给子树统一加上一个k的操作,但是子树的第1层还要加1,子树的第2层还要加2……支持查询子树大小。
既然是棵树,子树的操作,肯定支持打标记了……一般的估计还好,要是给个链出来,直接 n2 吧。50分 n1000 ,满分 n100000
这肯定不行啊。突然Po神出现在我脑袋中。
讲过啊,搞个DFS序出来子树不就变区间了么。这不就是区间加区间查询么。
搞搞搞。
一开始妄图直接用树的size还有预处理出来每个子树加k后总共额外增加的权值。push_down一下,貌似还需要每个节点的depth啊。
改改改。不行了越改越乱。一定是我的lazy有问题。删删删。
举了几个小栗子,发现每个节点增加的权值可以通过它的祖先被加的次数和祖先的深度和自己的深度求出来。这个标记还是挺好打的,而且看起来挺对的。
写写写。
样例不算特别小。一发……A了?
不管了还剩一个小时,样例A了就当我A了吧。
搞T1。
既然没啥性质那就搜索吧。状态可不好存,每个柱子上可能不只有一个圆盘。一共有7个柱子,用一个二进制位表示圆盘的话,49位存下了……搞个map,一顿搜索。写完了剩不到半个小时,测啥啥得0,除了那个没有解的。用什么昨天讲的小黄鸭已经不赶趟了,gdb一下加上瞪吧。着急就是错误百出,改了好几个地方,也没改出来。
交吧交吧。
下午又是直播测成绩。第一题……无输出,算了我也没指望它得分,看了一下,打了个*,out。第二题……果然70后超时。第三题……
我A了?我A了?激动的sb了在自己那yeah了好几下。
170,居然第二诶,好神奇。
讲题。第一题果然广搜打表,神犇A了,只需要0.2s。这只能怪自己代码能力弱心态还不稳了。连枚举骗的分都没拿。
T2的话,搜索+DP,没毛病。我又把本来能 O(n) 搞出来的东西强行加成 O(n2) 。到每个点可以存住当前的最优解的,不用从前面转移。上面那个神犇说的DP式子很正确,他居然60。据说本地测第7个点1.2s,我本地测第0.6s,又幸灾乐祸。
T3正解没话说。头一次写正解没挂。其实也有个神犇写出来了而且跑的巨快。3个lazy真心不会用BIT,他的口音有点重,我也没听懂……
啊好开心好激动。
zhx:“这个无输出是什么情况?看一下。”(打开cpp)
窝:“不用了不用了反正也没分!”
(*,out)
zhx:“我给你改一下吧。”
测。
第一个点 n 全是1。剩下的估计都是0。
zhx:“好吧排名并没有发生实质性的变化。”
蜜汁尴尬……
下午讲数据结构,一开始还好吧,什么简单的线段树,分块,堆一类的。听得也是舒服,这才是NOIP难度吧……然后就飙车了。GSS1-5,QTree,好家伙,直接上树剖了。维护的一脸懵逼。旁边的哥们一直在炉石。后来啊,就扯到了一道题,就扯到了他的遥远的国度,就扯到了Sone1……真心听不懂了。还是太蒟蒻了。
然后快要放学的时候班主任开始统计成绩。本来我是270的,没想到后来补上那10分居然算了,于是280。于是Rk2。
居然Rk2?
(Day1,zhx:“这两套题总分300+,你NOIP一等奖没问题了。”底下:“浙江……”我还是蒟蒻啊……大神是不是都在湖南)
%一下Rk1xjr神犇,370,就是上面那个D2T1拿了的。百度了一下,好吧,初三就省一了,今年冬令营已经银牌了……%%%
于是拿了一套无线键鼠,跟zhx合了个影。
woc居然是HP祖传方向键,这让我怎么开车!
晚上,补一道水题,拿我的V500s开车。

Day 3

今天换人辣!是mhy神犇!
又开始做题。
T1是求两圆面积并。怎么还搞上计算几何了!算了算了种个柿子测几个小数据走了。
T2是个约瑟夫环。不过总人数105,报数 100 ,这代价,暴力模拟就过了啊……搞什么DP,模拟一发走人。
于是才1h。真是神清气爽。
T3充分表达了mhy对于隔壁的怨气。一定是小学奥数。一堆方块,给了左视图和主视图,求最大最小体积。
稍微看了一下,最大体积好求啊,直接就是行和列能看到的取个min啊不能越界啊。最小体积呢?
长宽 1000 ,肯定不能枚举就是了。要是从最大的往下删?先删哪个后删哪个有影响啊。这这这,冥思苦想0.5h。
(zhx:“一道题你想了20min还没有思路,你可以查题解了。”
这上哪查。
zhx:“NOIP其实有好多题都是乱搞题。”)
那就乱搞一下好了。
先把每行每列的所见高度都加上去,然后对于每一行,如果在列中找到了与其相同的高度,说明这两个可以用一摞方框同时满足,那就减掉好了。手测好多小数据,居然都很对。
我的妈呀还剩1h干啥好啊。
返回去看第一题。既然你们都上网查有没有现成的公式了,那我下个GeoGebra好了。不过,面积并怎么求?画了两个圆,玩了半天。看着自己的数好像很对的样子,又想想各种三角函数用得好像有点太多了会不会炸精度啊……然后就困了就……睡着了?
就交卷了。
老师是中午测得然后我我我……
我AK了?妈呀……乱搞果然有道理啊。
不过也没啥高兴的,一共4个人AK,xjr依然辣么牛逼。分数也都很高,250+一片。
T3做法我跟老师果然完全不一样,我也没证明我的正确性居然就A了。
mhy:“没想出难题……”
然后下午是图论。
跟zhx一样的套路。先是Floyd,Kruscal,拓扑排序什么的。然后就……各种在图上乱搞,又听得一脸懵逼。然后又是树剖。一开始开的弹幕姬不一会儿就被搞炸了,有大佬又搞了两台弹幕姬,没多久又炸了。修好了一台,又有大佬拿脚本刷鸡汤,刷古诗,刷名言,后来就是一堆人没听懂刷,再讲一遍树剖,再讲一遍……
晚上,水题开车。

Day4

一大早上例行考试。
昨晚上群里炸了,大概是有个大佬觉得今天讲的太慢了,然后其他人觉得很不公平让他这么说于是就和平地撕mhy表示硝烟味有点浓啊那就明天题目加难讲题简单好了而且昨天分辣么高那就来到附加题防AK吧。
呵呵。
T1是个字符串题,一看有40的暴力分。好想有点熟悉呢……暂时还没啥思路。先看T2。
T2大意是给定辗转相除得到公约数的次数求和最小的数对。随便试试感觉是斐波那契,打个表又是斐波那契,看数据范围也想斐波那契。那就斐波那契好了。
T3么,给一棵树,求最大匹配数和方案数。有不用求方案的,一看,才40分。题里居然还给了Hungary的代码,然并卵。既然是棵树,一定是二分图,而且可以……树形DP吧。分情况, f[i][0] 表示 i 没被下面的点匹配的子树匹配数和方案数,f[i][[1]表示 i 被匹配了。因为匈牙利的增广,感觉可以用到树上啊,那转移的时候如果要取i的匹配直接取 f[i][1] 就好了。方案数么,乘法原理就行,对于求 f[i] 不和某一个子树节点匹配的话要判断一下 f[j][0] 是不是和 f[j][1] 的匹配数相同,这样的话应该把两者方案相加。怕出个菊花什么的,还特意求了总方案然后算 f[i][1] 的时候除以原来的方案乘上子节点不被子树匹配的方案,为了取模还写了个逆元。样例没有说服性。手造小数据,又全A。根据经验,当我全A好了。
又是剩1h,T4是附加题,算了吧。T1已经有思路了,就是入学测试的T1啊,而且还简单了,AC自动机换成了一个KMP。
不过那道题我就看了题解,并没有写……这题串长小,字符集大,应该也不用求矩阵。
写写写,发现KMP都不会写了,好不容易写出来了,又是得0。剩10min。不行我要绝地反杀!又开始瞪,瞪出来一个就改一个,编译过了就行也不用测样例了。还改了个数组下标也不知道对不对。没希望了。
老师收卷了,我又看出来一个毛病。
老师:“没交的同学赶快交啊,一会儿再收一遍就不收了。”
我更新了一下。
果然又收了一遍,虽然没有什么卵用。然后又看,因为改了下标所以数组小了……
下午。
估计本来也没跑进去所以也没RE。不过……暴力的40咋还没有……好吧多组数据。
T2特判错了。次数得1的时候应该是 11 。MDZZ。
T3……居然暴0……看了数据,一个 n=4 的点就能毒掉我我就是没举出来例子。不过是怎么毒掉的呢……当时脑袋可能有点乱已经看不出来为啥要那么写了。
讲题,想出了三个正解,一个没对……
关于T4,是给一个图,求边上的一个点试其到所有点的距离最大值最小。正解是二分加线段覆盖,感觉并不容易想到。40分的三分估计可能好好想一想就能想到吧。
今天的Rk1昨天没见过……居然是昨天没交上题……xjr神犇再次200+……
重新写了一下T3,居然就A了……心态的问题啊。
于是他总分500+,我这个390的只能远远看着了。
今天的专题是DP。从背包开始。各种01啊,二进制分组啊,多重啊。然后神奇的倍增Floyd,有一道什么神奇的2048。不过今天的同学们好像更懵逼了,不停地在问一些奇怪的问题。mhy好像都有点不耐烦了……虽然说由CTSC大神,不过某些人大概就跟提高班同学说的有的普及组水平的上提高班一样吧……无意引战。于是讲的很慢啊很慢啊我还睡着了一道题,虽然原来做当时就A了hhh。想听的数位没讲上,斜率优化没讲上,真实的。
然后又发奖品……我居然……Rk3……其实那个D1没交的大神可以Rk2然后我就不见了的,但是好惨。Rk3……又是一个……一样的键鼠套装。哦不其实是Rk4吧,xjr两次第一他就不要机械键盘了,顺延好了人家也不缺,于是他就跟mhy拥抱了一下……%%%
所以说什么呢,这跟我有一次校间互测差不多,ACM赛制,8道题,开场1h我A了6道。然后剩下4h啥也没干,一个挺裸的DP都没想出来。还有一个DP,想的挺对的,也是考完再写就A了,当时迷迷糊糊的,也没搞出来。HeRaNO神犇当时就A了7道啊,我就好气啊。结果硬是靠总时间搞到A6题的第一。所以说该拿得分要拿啊要快啊要稳啊,不然什么都是白扯。
晚上把HeRaNO推倒在床上,然后开了这个东西的坑,然后就没开车。
明天继续。今晚这么zb你们也看不见应该不会掉人品吧hhh。

Day5

好吧是大大后天才继续的。于是今天是mjy神犇来讲课。好帅!
不过今天这套题好像是zhx出的。管他呢。
T1说有好多电梯,能上指定层或者下指定层,问k次上下后最低能在哪层。当然没有底下楼,不过一开始在0层。想想这题也就这一个限制条件,而且设上楼次数为 x 的话,最终的楼楼层就是

y=up[i]x+down[i](kx)=down[i]k+x(up[i]down[i])
由于跟按键顺序没有关系,所以保证 y0 就行了,更何况这个 y 还是随x递增的, x>down[i]kdown[i]up[i] ,让 x ceil前面那个东西就好了,算一下 y
T2说有一条带子上有若干个位置需要磁头读取,然后一开始还有若干个磁头在带子上的某些位置,每次一个磁头可以互不干扰地移动一单位,问多久可以读取全部数据。想了一下DP感觉不可做,于是就二分吧。二分时间验证。验证的话,首先最左侧的如果比左侧磁头还要左那一定是由这个磁头读取。然后对于每个磁头考虑前面的尽可能多地读完后一定读最左侧的,有剩余的话还可以继续向右移动。由于长度的不同,可以现象左后向右或者先向右后向左,判一下哪个更优,做下去就行了。打完又剩两个半小时。
T3……我做过啊!原来在一次老师的什么题里面做过而且当时还A掉了,我也知道这题码量不小(按我这么写)。大意是有一对反射镜放在平面中,只有左倾右倾45°的,问能不能从左上角的格子的左侧照一束光在右下角的格子右侧反射出来。如果不能,再加一面镜子能不能。我当时的思路就是找到每一面镜子上下左右出射后的位置,然后用一束光模拟一下就行了。那道题求的是经过距离后的位置,这题求的不太一样,不过可以先从左上角做一遍,然后从右下角做一遍,对于两条光线交叉的位置,就是放置一面镜子能够完成的位置。而能够相交的只有横向光和纵向光,做一遍就行了。写啊写啊,思路是有,就是有点乱,一直写到考试结束才调出来样例。本来可以优化的吧,但是没时间写了于是暴力枚举,70的数据,差不多吧。
下午……他又开始现场测了……2……260?哇。R……Rk1?我干掉了xjr诶!我一看,T3有80分诶!再一看!是前面的点WA了!……这不科学。拿到数据一看

1 1 0 0

再一看代码,判直接相连的放错地方了,我的光线还没射出来,他就给我判死了……这20分,尴尬。
这还说明我T2错了啊,我一看

bool check(int M){
    int a, b, ……
}

偏偏在里面忘了开long long啊!改完还WA。我再一看

while(pt2<n)……

我nm打反了……
沃渠这也能80?不过T3跑的比std还快,说好了

对于100的数据, r,c107

我一看数据,全都不到 106 好么……mjy当然讲了要用线段树优化,不过这数据水的让我骗了这么多分真的好么……所以说以后出题可不能全靠rand()……然后……今天是可以AK的啊!
我好菜啊。
另外,有个tyc神犇,今天只40分。我记得他编译器是Dev-cpp,今天果然被坑了。长数字末尾没加ll,于是就编译错误了。辣鸡Dev-cpp,真不知道为啥拿那玩意儿当作标准教学工具。
关于下午的讲课,是字符串和数论。
字符串,还是Hash、KMP什么的,不过他讲了下manacher。这玩意儿读音是啥,Po神读二重,mjy一重。Po神说他不会这玩意儿。我原来看过,还写过模板题,不过现在早忘了,所以说对于回文串这种东西,Hash就够了吧。我觉得刷题班应该这些都回了吧,不过从前几天看,还是不可避免要给某些同学讲一下。那就讲一下吧。题就是各种DP。
关于数论,其实没讲啥。“为了SSR,你得扩欧。”我觉得我还是挺欧的就不用扩了,hhh。然后简单的求逆元,简单的线性筛,CRT提了一句,也没讲。大概老师快让我们蠢哭了。我不说啥。
就是这样,晚上好像并没有开车,开黑疼逊那个优化的渣渣的贪吃蛇一晚上,记不清了。

Day6

mjy讲了一天就走了,据zzk说他是第一次来清北。出了一套题。昨晚睡得好像有点完了,而且peter_819把闹铃按了,然后……我凭着生物钟7:30起的床,匆匆忙忙收拾了一下,赶紧跑。一到教室整个人都迷迷糊糊的。
看题吧,最后一套了,昨天好像有点膨胀。T1居然是……数论……裸的组合数取模, n,m106 ,而且吧…… p 不一定是质数。傻眼。原来Po神讲过,只不过全忘了而已。我就记得他讲过然后自己就不会想了。
放弃吧看T2。说有一圈人,每个人可以跟他左面的人刚,作为上帝视角可以知道刚的结果,而且刚死那个就死了,然后接着刚。问有多少人有可能最后留在桌子旁边。这啥啊,画了一圈图,也不是环也不是scc,没有啥顺序。一脸懵逼。
放弃吧看T3。给定一张无向图,不过神奇的是这个图只有一个点是度数大于2的。问找k个点使得每个点到这k个点的距离最大者最小。啊边的距离都是1。这一看,二分吧。不过对于k=1可以合并,k大了可咋整。合并找不到,难道能DP?并不啊……
好吧我弃疗。打了三个暴力,觉得能蒙上100分吧。
好吧现场测成绩的时候老师开始玩扫雷了。然后就我就光荣地挂掉了。暴力基本上全写错了,好像是特判写的都不对。60滚粗。昨天被被坑的tyc神犇,今天一下子200+。%%%
关于T1的组合数取模,很优美的方式是 O(n) 或者 O(nlog2n) 分解质因数即可。翻了一下以前Po神的课件,发现写的好像是CRT合并。原理应该差不多,不过这个更优美一点。T2有好多人深陷在图论的大坑里,包括我一个。正解其实是区间DP。 dp[i][j] 表示 i j能不能挨在一起,然后枚举一个 k

dp[i][j]=1(dp[i][k]&&dp[k][j]&&(win[i][k]||!win[k][j]))
这个 k 要么让i刚死要么跟 j 挑事自己浪死。于是能笑到最后的就是dp[i][i+n]那些。
T3讲了一种神奇的办法。这个图显而易见是一堆环和一堆链连在同一个节点上,不妨称之为根。二分还是二分,在处理的时候,首先枚举了根结点要去的地方,让所有能去的点也都去,这样做就可以把环断成链,链还是链。对于一条链,由于已经有了二分的长度,可以很容易地判断还需要几个集中节点。正确性显然,好妙啊,不过怎么能想到这种解法还是很神奇的。
下午的授课内容是模拟贪心二分。关于模拟,就给了两道题。一道公式编辑器,一道魔兽世界。一看题目,辣么长。一看输出,辣么长。再一看标程,辣么长。我选择go die,HeRaNO默默掏出了手机,记下了这两道题。%%%
然后贪心和二分都是一些比较简单的题目,还是有人问一些没价值的东西,还有人当众拿弹幕耍贱的,还有讨论游戏的,一堆人说谁谁谁打游戏,把真正有意义的问题都顶没了。这弹幕系统还不如不开。
比较简单,我就扫雷,人生中第一次扫出了高级。下课后听说HeRaNO水了10道题,还有什么GSS的。%%%
中途又抽奖。我果然欧,抽到了。
班主任:“你原来是不是挺多奖了,这个你还要吗?”
我:“……好吧不要了……”
班主任:“这位同学思想觉悟高,主动放弃……”
我:“……”
然后晚上发奖。看了一下,我两天320,xjr350。我要是D1不犯sb错误,或者D2能打好暴力,我就Rk1了啊。
班主任:“以前拿过奖品的同学,这次就不发奖品了。但是有没有超过350的?”
xjr拿了一个狼蛛就再也没让他拿过……次次Rk1。
今天的机械键盘是达尔优的……好吧好吧好吧没有算了我还是太菜了……
回宾馆看见HeRaNO在打FFT的板子。%%%他不跟我说话。
今天他们找到了一款怼猫的游戏,晚上好长时间。一方面是互相伤害,另一方面聊天的文字都是谷歌娘读出来了。看一群人调戏谷歌娘我笑得不行。

Day7

最后一天了吧。今天是NOIP试题选讲。除了解方程没写,还有疫情控制意外,我没啥了。把前两天的题水一水,拿键盘换了个抱枕,有个欧皇抽了两个抱枕……一早上就下雨,一堆人迟到,然后HeRaNO直到8:15才来,也是有点担心。气压有点低。
班主任:“我在帝都等你,在未来的北大清华。”
完结撒花。

还想说点啥。
拿空间里发的过来,

所谓成败,不过是能否顺应心意:所谓心意,不过是能否满足私念。但若将私念强加于人,可谓顺应心意?将心意暗表于世,可谓成功?
清北七天,“功成名就”?“身败名裂”?

回来的时候在火车上看班里同学借我的《鸟人》。看完鸟人我已经有点分裂。看完艾尔大脑一片空白。我的左面坐着橙色棒球服的HeRaNO,右面是窗外黑黢黢的原野。我靠在椅子背上,眼睛里是高铁橙色的字幕。
Beijing-Harbinxi Speed:101km/h
恍惚翱翔。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
您好!要使用Python编写爬虫来获取携程游记的信息,您可以按照以下步骤进行操作: 1. 导入所需的库:您可以使用`requests`库来发送HTTP请求,使用`BeautifulSoup`库来解析HTML页面。 2. 发送HTTP请求并获取页面内容:使用`requests`库发送GET请求,获取携程游记的页面内容。 3. 解析HTML页面:使用`BeautifulSoup`库解析页面内容,提取出游记的相关信息。 4. 提取游记信息:根据页面的HTML结构,使用`BeautifulSoup`库提取游记的标题、作者、发布时间、内容等信息。 5. 存储游记信息:您可以选择将提取到的游记信息存储到文件或数据库中,以便后续使用或分析。 以下是一个简单的示例代码,以帮助您开始编写爬虫: ```python import requests from bs4 import BeautifulSoup # 发送HTTP请求并获取页面内容 url = 'https://you.ctrip.com/travels' response = requests.get(url) html_content = response.text # 解析HTML页面 soup = BeautifulSoup(html_content, 'html.parser') # 提取游记信息 travel_list = soup.find_all('div', class_='journals_list') for travel in travel_list: title = travel.find('h2').text author = travel.find('span', class_='username').text publish_time = travel.find('span', class_='time').text content = travel.find('div', class_='ctd_content').text # 打印游记信息 print('标题:', title) print('作者:', author) print('发布时间:', publish_time) print('内容:', content) print('---') ``` 请注意,这只是一个简单的示例代码,具体的网页结构可能会有所变化,您可能需要根据实际情况做一些调整。此外,爬取网页内容时请尊重网站的规则和条款,并遵循合适的爬取频率,以免对网站造成过大的负担。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值