当前位置:   article > 正文

python读取文件夹下所有文件并进行内容提取_文件夹名称爬虫 txt

文件夹名称爬虫 txt

上网课以来,各种平台百花齐放。老师在上面发布习题,进行考试,其中微信公众号的微助教不能复制粘体老师发布的习题,针对这一情况,结合所学的知识,通过python进行数据的提取。
流程如下:
1.电脑登录微信进去答题页面,右键查看源码,保存记事本中。
2.对源码进行分析
3.结合xpath和正则进行数据提取
4.保存到另一个文件夹中

代码如下:

import re
import os
from  lxml import etree

i=0 #定义一个变量,用来记录第几题
with open("ti.txt", 'w') as file_object: #打开一个txt文件用来保存题目
    for filename in os.listdir("E:/beijing"): #所有的文件放入E盘beijing目录下,并获取文件夹下的所有文件名
        i+=1
        f = open("E:/beijing//"+filename, "r", encoding='utf-8')  # 打开文件夹下的每一个文件,以只读得方式,注意编码格式,含中文
        data = f.readlines()  # 循环文本中得每一行,得到得是一个列表的格式<class 'list'>
        f.close()
        data ="".join(data) #将列表转换为字符串
        pat = re.compile(r'<p>(.*?)</p>') #正则处理得到题目
        result = pat.findall(data)
        html = etree.HTML(data)
        div = html.xpath('//div[@class="_1yjrJA-TQbXl_8l5e6YGxh"]/text()') #xpath处理得到答案
        div=" ".join(div)
        div1 = html.xpath('//div[@class="dhiccbzLAlvLFEBjU5Y5R"]/div[2]/text()')
        div1 = " ".join(div1)
        result=" ".join(result)
        pp = "{}、问题是: ".format(i)+result+"\n我填得答案是\n"+div +"\n正确答案\n"+div1
        file_object.write("\n" + pp)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

以上就是全部过程,对于学习通登平台可以直接用爬虫进行爬取,但是微助教是立足于公众号,只有通过这种稍微麻烦点的技术进行爬取。

技术不是很高,但是能解决问题,不足之处甚多,还望大神多多指教!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/788472
推荐阅读
相关标签
  

闽ICP备14008679号