sum ожидает итеративный объект (например, список). Поэтому код должен быть:
def black_jack(a, b):
if sum([a, b]) > 21:
return 0
else:
return sum([a, b])
print black_jack(10, 5)
Необходимо отфильтровать строками агента пользователя. Можно найти список приблизительно 300 общих агентов пользователя данным ботами здесь: http://www.robotstxt.org/db.html Пробежка того списка и игнорирование агентов пользователя бота перед выполнением SQL-оператора, должны решить проблему для всех практических целей.
, Если Вы не хотите, чтобы поисковые системы даже достигли страницы, используйте основное robots.txt файл для блокирования их.
Можно проверить Строку агента пользователя, пустые строки, или строки, содержащие 'робот', 'паука', 'поисковый робот', 'завихрение', вероятно, будут роботами.
preg_match('/robot|spider|crawler|curl|^$/i', $_SERVER['HTTP_USER_AGENT']));
Проверьте агент пользователя прежде, чем увеличить количество просмотра страницы, но помните, что это может имитироваться. PHP выставляет агент пользователя в $_SERVER['HTTP_USER_AGENT']
, предположение, что веб-сервер предоставляет ему эту информацию. Больше информации о $_SERVER
может быть найден по http://www.php.net/manual/en/reserved.variables.server.php.
Можно найти список агентов пользователя по http://www.user-agents.org; поиск с помощью Google также обеспечит названия тех, которые принадлежат крупным поставщикам. Третий возможный источник был бы журналами доступа Вашего веб-сервера, если можно агрегировать их.
Вы попытались определить их их информацией об агенте пользователя? Простой поиск Google должен дать Вам агенты пользователя, используемые Google и т.д.
, Это, конечно, не является надежным, но большинство поисковых роботов крупнейшими компаниями предоставляет отличный агент пользователя.
РЕДАКТИРОВАНИЕ: Принятие Вас не хочет ограничивать доступ ботов, но просто не считать его визит в Вашем statistc.