우리는 apache_log 파서를 가지고 있습니다. 우리는 봇을 실제로 봇 (bot_list)의 목록을 분석하기 위해 여러 번 시도했습니다. 그러나 성공하지 못했습니다. 우리는 두 개의 목록을 비교해 보았지만 봇은 목록이되거나 목록이 아닙니다.python - 봇 구문 true 봇 목록 (bot_list)
우리가 원하는 것은 봇이 bot_list를 먼저 통과한다는 것입니다. 그래서 그 봇을 통해서 오는 봇만 bot_list에 없습니다.
log = apache_log(lines)
for r in log:
bot = r['bot']
bot_list = [ "Googlebot/2.1",
"AhrefsBot/5.0",
"bingbot/2.0",
"DotBot/1.1",
"MJ12bot/v1.4.5",
"SearchmetricsBot",
"YandexBot/3.0",
]
이 방법으로 하나의 봇에서 작동합니다.
bot = r['bot'].strip()
if not bot.startswith("Googlebot/2.1"):
이것은 우리의 필터 인 bot.startwith입니다. 그러나 bot_list를 처음으로 통과하는 방법을 얻으려면 어떻게해야합니까?
누군가가 올바른 방향으로 나아갈 수 있기를 바랍니다.
과 동일 https://docs.python.org/2/library/stdtypes.html#str.startswith). –
Ashwini Chaudhary - 우리가 startswith를 사용할 수있는 방법을 이해하는 데 도움이 된 감사합니다. 우리는 그 질문을 얻었다. –