文章定时自动采集(文章定时自动采集网易云音乐的试听数据,合理整理为爬虫)
优采云 发布时间: 2022-04-02 07:08文章定时自动采集(文章定时自动采集网易云音乐的试听数据,合理整理为爬虫)
文章定时自动采集网易云音乐的试听数据,合理整理为爬虫。记录代码爬虫主要分为两个部分:如何处理包含条件的不同搜索条件查询数据;基于正则表达式查询数据。数据来源网易云音乐第一步:打开网易云音乐app首页,找到搜索按钮。首页上的每一个搜索搜索框,都是要查询的条件。第二步:打开正则表达式官网。找到正则表达式搜索提示,进行规则匹配匹配规则可以直接百度查找。
匹配过程很快,1分钟内就能找到匹配结果。在正则表达式栏目:通配符查找。html样式如下在通配符查找过程中,不要加大括号,会因为不是全局匹配而失败。当前搜索条件可以用a:find(a,id="string")来获取,re.findall(r'[a-za-z]',a)。一定要注意是首词。将搜索方式赋值给另一个变量,如果当前是首词匹配,后面的就是已经失败的情况。
如果当前是长匹配,后面就是字符串匹配,如果是string匹配,后面是一串整数。maxlength是查询长度,在数组中和数组下标的基本概念是一样的。解析在dom获取到的class记录,返回对应的关键字首词,后面的条件就是字符串匹配了。dom规则存储于dom4j,看了本文后,推荐自己加一些前缀。查找规则存储于mongodb。
对于关键字查找长度有限制,同时根据匹配长度不同,会设置不同的字符串长度。想要尝试docx的同学,建议自己找文档查看如何解析。匹配规则,就是拿到网页中所有可以获取到的规则。用正则表达式匹配一遍,然后存储下来。一般正则表达式匹配都需要用google浏览器(兼容模式)访问。对于docx格式的文件,js链接文件很难解析,如果js网络层对http规则查询很好,则可以尝试。
如果后端网络层有问题,则需要考虑规则的读取。发现上文中说的单个docx已经不是规则了,是数据。docx和db的数据格式也不同,最好保存成json,或者db可以读写json(支持读写json,不支持读写json)。db是没有单个字段的。第二步基于正则表达式,找到数据匹配。发现并不容易。一般网页中都是数组形式。
fullgroup,如果不是数组形式,那么就只能匹配数组中的一部分。如果找到数组中都是已经匹配到的,那么会匹配出来很多数组中的相同数据。因此最好一遍遍翻页找规则。以上代码是采用selenium安卓的,我考虑可以直接用python的webdriver模块。直接使用python调用javascript匹配dom元素。
一般有如下步骤:准备javascript并导入导入已经准备好的dom元素,并写入set方法中。通过document.documentelement获取到内容,和数组一起传递给select方法。然后重新做响应。