。他一行一行地写,每写一行就解释一遍。“这是导入库,这是请求网页,这是解析HTML,这是提取公告数量。你试试。”
陈曦接过键盘,小手放在键帽上。她照着周寻写的示例,一个字母一个字母地敲。速度很慢,经常敲错,删掉重来。周寻在旁边看着,没有催促,只在必要时提示。第一行,导入库,成功了。第二行,请求网页,报错了——她把网址拼错了。周寻指着屏幕:“仔细看,少了一个斜杠。”陈曦改过来,重新运行。这次没有报错,但输出是一大堆乱码。周寻说:“编码问题,加一行设置编码。”陈曦加上,再运行,终于看到了干净的网页源代码。
她高兴地拍手。“出来了!”
周寻笑了。“这才第一步。你还要从源代码里找到公告数量那个数字。”他指着一行HTML代码,“你看,这里写着‘共找到xx条公告’。你要把这个数字提取出来。”
陈曦皱起眉头,盯着那行代码看了很久。然后她问:“是不是用正则表达式?”
周寻愣了一下。“你知道正则表达式?”
“我在书上看过。但没学会。”陈曦有些不好意思。
周寻笑了。“你爸在你这个年纪,连电脑都没摸过。你比他强。”
陈曦用了整整三天,才把那个爬虫跑通。第一天,她学会了请求网页和解析HTML,但提取数字时总是不对——因为网页结构有变化,她没考虑到。第二天,她学会了用正则表达式匹配数字,但运行时又报错,原因是某个公告页面没有“共找到”这个字段。第三天,她加了异常处理,代码终于稳定运行。当她看到屏幕上成功打印出“42”时,高兴地从椅子上跳了起来。
“周叔叔!我成功了!”
周寻走过来,看了看代码,又看了看运行结果。代码写得很稚嫩——变量名用的是a、b、c,没有函数封装,异常处理只是简单的pass。但它能跑,而且抓对了。
“不错。”周寻拍了拍她的肩膀,“
本章未完,请点击"下一页"继续阅读! 第2页 / 共4页