声明:这个是写给一点都不会的人看的,懂哥勿喷
示例题目:
从 教务处信息网.html 文件中获取文章标题与链接 并且存入result.csv
需要处理的标签格式如下
<a(一个及以上空格)href=”(链接)”(一个及以上空格)target=”_blank”(一个及以上空格)title=”(标题)”>
首先我们对这个题目进行分析,要从文件中提取出上述信息,必然会用到正则表达式对整个html文件进行匹配,然后将匹配结果写入csv文件
所以,我们整个任务的重点就是正则表达式的写法,以及对csv文件的写入
正则表达式写法
正则表达式操作的重点就是声明出你知道的部分,让计算机去匹配你不知道的部分,比如说标签格式中的字符就是你知道的部分,哪里有空格也是你知道的部分,链接和标题就是你希望计算机帮你找到的部分
对于不会的人来说,只需要知道用(.*?)来标记需要计算机来找的部分就能解决绝大多数的问题了,然后什么转义字符什么的稍微记一记就好了,比如说我们可以用\s+来表示一个及以上空格,这里相关用法就不赘述了,不会的自己查。
因此我们需要的正则表达式如下
<a\s+href=”(.*?)”\s+target=”_blank”\s+title=”(.*?)”>
然后我们用re.findall就能找到所有匹配的内容,当每次匹配时有多个匹配项时(比如这里,有两个匹配项),那输出的list的每个元素将是包含每个匹配项的元组,按照匹配顺序排列
写入csv文件
csv是一种极其简单的数据存储方式
可以将它抽象成一张表格,每一行间通过换行符来分隔,每一列通过英文逗号分隔。
所以好像也没啥难的…,注意编码格式就行了…