js提取指定网站内容是怎么做的?js怎么提取
优采云 发布时间: 2022-07-16 07:03js提取指定网站内容是怎么做的?js怎么提取
js提取指定网站内容一直是我想实现的,但是只是执行js写的。其实也可以用http协议下发一个指定链接,然后js进行获取,但是这样做对于大多数网站来说要在需要获取js的网站连接域名有域名才可以。后来我用tiobe排名的时候,发现chrome非常难找,没有查询完全页的cannonic浏览器,是没有对应浏览器。
于是考虑js爬虫+requests+selenium+shell就可以全自动的抓取。为了获取一个html页面,首先需要抓取一个html页面,然后要将其下载下来。通过百度找到这个页面,进行如下操作:1.单击页面上方“访问页面”,获取index.html并解析成为一个xml2.打开浏览器的开发者工具,在地址栏中打开xml文件,进行解析.3.在executable内外抓取相应的页面,并将抓取出来的executable复制到浏览器地址栏,获取页面内容文件。
4.将获取好的js文件添加到浏览器中,正常页面会在下一个文件中。整个操作过程最长两分钟左右。然后获取的html将直接存储到js文件中。后来发现js文件打开比较慢,我们还需要使用正则表达式才能找到相应的页面,以下代码就是进行正则表达式匹配,来得到页面。1.打开页面,鼠标右键选择检查,,然后选择以页面中的元素为中心(包括标题,文字,img,footer,iframe等)点击菜单:network->pages,右键->匹配正则,命名搜索出来的文件内容中匹配页面中任意一个条件为字符串的文件,也可以自己选择executable下复制的文件夹名。
一般情况下页面都有几十上百个,加上文件名的条件,也有上千条左右。2.找到和我们想要匹配出来文件的文件名,再放进pages中(以页面中的index.html为例)functiongetheaderpagescontext(pagescontext){for(letline:pagescontext){if(line.startswith("\n")&&line.startswith("\n")){returnnull;}}return0;}正则匹配案例3.如果拿到pagesoftend中的内容:我们只需要通过正则表达式找到页面中的xhtml文件后缀,然后匹配相应的文件,保存相应的文件,再将此文件放到浏览器的开发者工具的文件夹目录下,就能获取该网页的更多内容。
将找到的xhtml内容内容保存到.exe文件中以后,我们可以修改后缀名。修改时有个原则,即每次都需要知道这个网页最后标签名的后缀。如果代码写得足够优美的话,代码可以非常简洁,但是为了快速,这是必须。重新思考下代码,代码如下:.exe-p-i-f.unkeys.submodule.index.htmlindex.html其实代码就是重复getheaderpagescontext(pagescont。