1
0

phantomtest.py 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. from selenium import webdriver
  2. from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
  3. import time
  4. import os
  5. import urllib.parse
  6. from selenium.webdriver.support.ui import WebDriverWait
  7. from selenium.webdriver.common.by import By
  8. from selenium.webdriver.support import expected_conditions as EC
  9. import codecs
  10. import random
  11. from bs4 import BeautifulSoup
  12. import requests
  13. import time
  14. headers = {
  15. "Authorization": "Bearer " + "t35vhZtWNgvDNWHc3DJh0OKll3mcB9GvC8K2EAkBug2",
  16. "Content-Type": "application/x-www-form-urlencoded"
  17. }
  18. def send_msg(kw):
  19. params = {"message": "處理關鍵字: "+kw}
  20. r = requests.post("https://notify-api.line.me/api/notify",headers=headers, params=params)
  21. def empty_query(q):
  22. global driver
  23. googleurl='https://www.google.com/search?q='+urllib.parse.quote(q)
  24. driver.get(googleurl)
  25. time.sleep(3)
  26. def process_query(q):
  27. global driver
  28. googleurl='https://www.google.com/search?q='+urllib.parse.quote(q)
  29. driver.get(googleurl)
  30. time.sleep(3)
  31. elmts=driver.find_elements_by_xpath("//div[@class='g']//div[@class='yuRUbf']//a")
  32. idx=1
  33. ranking=-1
  34. for elmt in elmts:
  35. href=elmt.get_attribute('href')
  36. txt=elmt.text
  37. if len(txt)>10:
  38. # if 'hhh.com.tw' in href:
  39. if 'hhh.com.tw' in href:
  40. # if 'searchome.net' in href:
  41. webdriver.ActionChains(driver).move_to_element(elmt).perform()
  42. webdriver.ActionChains(driver).move_to_element(elmt).click().perform()
  43. break
  44. # fw=codecs.open('c:/tmp/gg.html','w','utf-8')
  45. # fw.write(driver.page_source)
  46. # fw.close()
  47. # driver.save_screenshot("c:/tmp/screen.png")
  48. # os.startfile("c:/tmp/screen.png")
  49. # driver.quit()
  50. qlist=['上築空間設計','豐聚室內裝修','富億空間設計','浩室設計','京璽國際','IS國際設計','優尼客','摩登雅舍','亞維空間設計','比沙列','富億設計','豐聚設計']
  51. #qlist=['IS國際設計']
  52. #qlist=['YHS DESIGN','齊舍設計','奧立佛竺居','阿曼空間設計','界陽大司室內設計','尚藝室內裝修','禾禾設計','上陽設計','苡希創意設計','羽筑空間設計','將作空間']
  53. #qlist=['富億空間','幸福空間節目 富億','幸福空間設計師 富億','幸福空間 富億','幸福空間 fe設計','老屋 富億','老屋翻新 富億','天井設計案例 富億','IS國際設計','豐聚設計','浩室設計','優尼客','摩登雅舍','亞維空間設計','比沙列','京璽國際','上築空間設計']
  54. #qlist+=['合砌設計','羽筑空間設計','朱英凱室內設計','將作空間','藝谷空間','文儀室內裝修','維耕設計','亞維空間設計','比沙列','上築空間設計','京璽國際','IS國際設計','優尼客','摩登雅舍','玖柞設計','麻石設計','元典設計','大琚空間','惹雅國際','橙果創意','PLSB建境','聯寬室內裝修']
  55. qlist+=['合砌設計','羽筑空間設計','朱英凱室內設計','將作空間','藝谷空間','文儀室內裝修','維耕設計','亞維空間設計','比沙列','上築空間設計','京璽國際','IS國際設計','優尼客','摩登雅舍','玖柞設計','麻石設計','元典設計','大琚空間','惹雅國際','橙果創意','PLSB建境','聯寬室內裝修']
  56. #qlist+=['卓林室內設計','成綺空間設計','德本迪設計','昱森室內設計','千綵胤空間設計','上築空間設計']
  57. qlist+=['IS 國際設計','IS國際設計','IS設計 陳嘉鴻''IS設計 費用','陳嘉鴻 mobile01','IS國際設計 風格','IS國際設計 接案風格','IS國際設計 現代風','IS國際設計 老屋翻新']
  58. qlist+=['奧立佛 設計師 鍾鼎','奧立佛 老屋翻新','奧立佛 住宅改造','奧立佛 監工費','奧立佛 設計 鍾黎']
  59. qlist+=['富億空間 新成屋','富億空間 新成屋','老屋翻新','富億空間 陳錦樹','富億空間 設計師','富億空間 室內設計']
  60. qlist+=['界陽室內設計','界陽大司室內設計','界陽x大司','界陽大司 馬健凱設計師','界陽大司 設計師','界陽大司 設計風格']
  61. qlist+=['卓林室內設計','卓林設計 林繹寬','卓林設計 設計師','卓林設計 機能宅','卓林設計 室內設計','卓林 室內設計','卓林設計 坪效','卓林設計 空間設計']
  62. qlist+=['德本迪 宜荷','德本迪 室內設計','德本迪 裝修','德本迪 宋雯鈴','德本迪 宋志鍾','德本迪 室內設計諮詢','德本迪 系統家具']
  63. #接案風格:現代風/古典風/休閒風/低調奢華/新古典。接案類型:小坪數/標準格局/別墅/大坪數/老屋翻新/樓中樓/實品/樣品屋/商業空間/挑高樓層。老屋翻新欲了解陳嘉鴻設計師價格? 到幸福空間看更多PTT、mobile01版友好評推薦的 is國際設計-陳嘉鴻設計師計費及作品。
  64. #qlist=['建境 構建築','建境 plsb','建境 室內設計','建境 空間設計','plsb建境 專線','建境 專線']
  65. #qlist=['優尼客空間設計','優尼客 空間設計','優尼客 設計','優尼客 黃仲均','黃仲均 室內設計師','優尼客 現代風','優尼客 北歐風','優尼客 工業風']
  66. #qlist=['安喆空間設計','安喆 空間設計','安喆空間設計 專線','安喆空間設計 陳佳暄','安喆空間設計 林威任','安喆空間設計 桃園','安喆空間設計 公司地址']
  67. #qlist=['德本迪 宜荷','德本迪 室內設計','德本迪 裝修','德本迪 宋雯鈴','德本迪 宋志鍾','德本迪 室內設計諮詢','德本迪 系統家具']
  68. driver = webdriver.Remote(
  69. # command_executor='http://127.0.0.1:4444/wd/hub',
  70. #command_executor='http://192.53.174.202:4444/wd/hub',
  71. command_executor='http://dev2.choozmo.com:14444/wd/hub',
  72. desired_capabilities=DesiredCapabilities.CHROME)
  73. driver.set_window_size(1400,1000)
  74. while True:
  75. q=random.choice(qlist)
  76. prob=random.randint(0,3)
  77. if prob ==0:
  78. # q=qlist[0]
  79. print(q)
  80. process_query(q)
  81. send_msg(q)
  82. else:
  83. empty_query(q)
  84. # intsleep=random.randint(20,40)
  85. # intsleep=random.randint(10,20)
  86. intsleep=random.randint(5,10)
  87. time.sleep(intsleep)