parseutils.py 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. # -*- coding: utf-8 -*-
  2. DB_NAME = 'google_poi'
  3. SHOP_LIST_TABLE = 'shop_list2'
  4. SHOP_LIST_TABLE_COL = ['unique_id', 'name', 'lon', 'lat', 'city', 'area',
  5. 'rating', 'user_ratings_total', 'category', 'price_level',
  6. 'addr', 'tel', 'services', 'products', 'choices',
  7. 'facilities', 'groups', 'plans', 'payments', 'safeties',
  8. 'specials', 'barrierlevels', 'items' ,
  9. 'open_now', 'periods', 'weekday_text','reviews',
  10. 'shop_photo','menu_photo',
  11. 'google_url', 'item_url', 'keyword', 'crawler_date']
  12. element_list = {
  13. 'category': ['button', {'jsaction':'pane.rating.category'}],
  14. 'rating': ['ol', {}, 'aria-label'],
  15. 'user_ratings_total': ['span', {'jsaction':'pane.rating.moreReviews'}],
  16. 'price_level':['span', {'jsan':'0.aria-label'}]
  17. }
  18. intro_list = {
  19. '服務選項': ['services','service'],
  20. '產品/服務': ['products','product'],
  21. '用餐選擇': ['choices','choice'],
  22. '設施': ['facilities','facility'],
  23. '客層族群':['groups','group'],
  24. '規劃':['plans','plan'],
  25. '付款方式':['payments','payment'],
  26. '健康與安全':['safeties','safety'],
  27. '特色':['specials','special'],
  28. '無障礙程度':['barrierlevels','barrierlevel'],
  29. '詳細資料':['items','item']
  30. }
  31. week_list = {
  32. '星期日': 0,
  33. '星期一': 1,
  34. '星期二': 2,
  35. '星期三': 3,
  36. '星期四': 4,
  37. '星期五': 5,
  38. '星期六': 6,
  39. }
  40. def blank_check(value):
  41. while value.startswith(' '):
  42. value = value[1:]
  43. while value.endswith(' '):
  44. value = value[:-1]
  45. return value
  46. def value_check(key, value):
  47. value = blank_check(value)
  48. if key == 'rating':
  49. value = float(value.replace(' 星級',''))
  50. elif key == 'user_ratings_total':
  51. value = int(value.replace(' 則評論','').replace(',',''))
  52. elif key == 'price_level':
  53. value = len(['$' for i in value if i == '$'])
  54. if value == 0:
  55. value = ''
  56. else:
  57. value = int(value)
  58. return value