思路:将直接复制下来的列表信息,通过对各种符号的批量替换,最终使其能在excel文档里,自动排列为A、B、C等不同列,最终通过excel公式,批量生成sql查询语句,直接执行查询,数据入库;
例:
/search.aspx?ctl00$ContentPlaceHolder1$cboPrevio=%E5% 8C%97%E4%BA%AC
1.直接把列表信息复制进新建的txt文档,格式非自动换行,如下图:
2.再把txt里的数据复制进新建的word文档,如图:
(注:此处先复制进txt再复制进word的原因是,从网上拿下来的数据直接放入word会包含自身的列表结构甚至是图片,那些都是不需要的东西)
3. ctrl+H打开搜索替换,通过观察,我们在搜索中输入“回车+空格”,即“^p ”,替换中输入“空格”,即“”,如图:
4.全部替换,如图:
5.搜索替换,搜索中输入两个空格“”,替换中输入一个空格“”,疯狂的全部替换,一直到再也搜不到双空格,最终把所有有间隔的地方,变成了一个空格,如图所示:
6.将数据全选复制到新建excel文件的A列,选中A列,数据,分列,如图:
7.选分隔符号,下一步,空格,完成分列,(有连续识别符作为单个处理的选项,可以节省步骤5,但是我为了保险,还是没省略),如图:
8.手动修改例如第三行的,奇葩的、不合群的数据:
9.在此特殊例中,由于每四个电话号码出现一个空格,导致了分列,可用一个简单公式:在E1中输入“=C1&D1”,回车,然后在E1单元格的右下角下拉公式至最后一行,合并如图:
10.数据整理:
11.下一步是利用excel公式批量生成sql语句,在D1中输入公式:=CONCATENATE("insert into table (字段1,字段2,字段3) values ('",A1,"','",B1,"','",C1,"');")
然后D1单元格公式下拉,生成D列如图:
12.选中D列,直接整体复制进数据库,批量执行查询语句,入库成功:
至此,超简单,无爬虫,不用编程,不用看网页源码的抓取流程完美结束,虽然均为人工操作,但是都是批量,所以省时高效。
此方法的重点在于步骤3,对于不同网页的列表信息,要用不同的搜索替换,将其变为一行一行的数据;也就是说,除了步骤3,其他步骤都具有通用性,只有步骤3,需要自己去观察数据结构,活用搜索替换~。