黑暗中的爆破(船讯网Ais爬虫暨爬虫实战js逆向学习经验分享)
事先声明:本文章所获得的信息均通过合法手段获得(本人为政府部门工作,爬虫行为均经过授权),爬虫需遵守各项法律法规,不该爬取的信息不爬。
最近因为做博士毕业设计需要用到ais信息,但在船讯网爬取ais的时候遇到了问题,因为之前爬取的人太多,所以网站加上了反爬措施,csdn上之前的代码全都不能用了,但在我孜孜不倦的尝试和学习下,攻克了这一难关,在学习的过程中自己的爬虫技术也获得了很大的进展,现将经验分享如下。
一:初级解决方案(爬虫入门级玩家)。我们使用简单的代码转换器和搜索接口,或者使用简单xpath工具,以及正则匹配和数据库(或者csv,能存储数据就行),可以获得我们想要的ais信息,并将它编写成代码。
import requests
import csv
#爬虫谨慎使用!爬虫过多使用会导致网站反爬修改代码导致爬虫失效!
'''
出现PermissionError: [Errno 13] Permission denied: 'ais.csv'
是因为将数据文件ais.csv打开了,将其关闭即可恢复正常。
'''
#将搜索到的信息添加进excel(csv)
def readAndWrite(totalMessage):#没有该文件csv文件的话自动生成csv文件#查询已有的mmsi列表mmsiList=[]notEmpty=False#判断文件是否为空 with open('ais.csv','a') as file:passwith open('ais.csv','r') as file:lines=file.readlines()notEmpty=bool(lines)for line