Python vyhladavanie na google s kliknutim

Python vyhladavanie na google s kliknutim
« kdy: 17. 10. 2020, 10:08:08 »
Zdravim.
Tak mam pred sebou dalsi "projekt". Rozmyslam resp. rad by som dostal rady a tipy ako spravit vyhladavanie na google skrz python. Je mi jasne ako zadat request ale nenapada ma ako automaticky otvorit link ktory chcem s vysledku. Riesil to niekto? P.S. nejde o ziadne blackseo je to cisto len zvedavost.


Re:Python vyhladavanie na google s kliknutim
« Odpověď #1 kdy: 17. 10. 2020, 13:55:14 »
nóó a chceš to dělat jakoby z ničeho na zelený louce nebo by ti stačilo hotový řešení jako třeba pythoní balíček 'google' hele tutorial?? :o :o

Re:Python vyhladavanie na google s kliknutim
« Odpověď #2 kdy: 18. 10. 2020, 11:58:59 »
Dakujem.
Kusok som pokrocil ale potreboval by som este trosicku posunut
Ak vyhladavam elelement na stranke pomocov selenia ako vyhladavat len element ktory obsahuje string resp. ako to filtovat
Toto pouzivam
Kód: [Vybrat]
elems = driver.find_elements_by_xpath("//a[@href]")
for elem in elems:
    print(elem.get_attribute("href"))

ale potrebujem hladat a href ="xxx.com/*" * reprezentuje random link. Chcem docielit to aby nasiel vsetky linky obsahujuce xxx.com

Re:Python vyhladavanie na google s kliknutim
« Odpověď #3 kdy: 18. 10. 2020, 14:47:07 »
Najdi si cheatsheet k XPath..
Kód: [Vybrat]
//a[contains(@href, 'xxx.com/')]
nebo 'starts-with'..

Re:Python vyhladavanie na google s kliknutim
« Odpověď #4 kdy: 18. 10. 2020, 15:53:56 »
Najdi si cheatsheet k XPath.............
tenhleten cheatsheet se mi líbí a mam ho strčenej v záloškách hele :) ;)
btw maj tam víc různejch cheatsheetů na tý stránce hele :o ;)


Re:Python vyhladavanie na google s kliknutim
« Odpověď #5 kdy: 18. 10. 2020, 18:27:36 »
Wrána diskuze : dost dobre.
Uz to mam skoro hotove ale ostal mi posledny problem a sice vzdy ked zapnem script tak otvara nove okno v chrome. So far so good. Problem je ze ked vyhladavam na google chce odomna potvrdit podmienky.
skusam to skrz
Kód: [Vybrat]
buttons = driver.find_elements_by_xpath('//*[@id="introAgreeButton"]').click()
alebo
Kód: [Vybrat]
buttons = driver.find_element_by_id('introAgreeButton').click()ale nechce ich potvrdit. Ako to "ofajcit"?

Re:Python vyhladavanie na google s kliknutim
« Odpověď #6 kdy: 19. 10. 2020, 17:20:07 »
Sellenium se většinou používá na testování webů. Pokud člověk má dostatek výkonu, tak to otevírání prohlížeče (v podstatě) asi vadit nemusí, ale kdyby mi šlo jen o vyhledávání na Googlu, tak je to jak jít s kanónem na vrabce. Já bych si vystačil buď s knihovnami jako requests, lxml, eventuálně Beautiful Soup, nebo bych se ještě podíval, jestli Google nemá i nějaké API a jestli na takové API nebude přímo existovat pro Python už nějaká hotová knihovna. Proč objevovat kolo, že...

Řešení je spousta, viz třeba tady:

https://towardsdatascience.com/current-google-search-packages-using-python-3-7-a-simple-tutorial-3606e459e0d4

Re:Python vyhladavanie na google s kliknutim
« Odpověď #7 kdy: 20. 10. 2020, 13:35:15 »
Wrána diskuze : dost dobre.
Uz to mam skoro hotove ale ostal mi posledny problem a sice vzdy ked zapnem script tak otvara nove okno v chrome. So far so good. Problem je ze ked vyhladavam na google chce odomna potvrdit podmienky.
skusam to skrz
Kód: [Vybrat]
buttons = driver.find_elements_by_xpath('//*[@id="introAgreeButton"]').click()
alebo
Kód: [Vybrat]
buttons = driver.find_element_by_id('introAgreeButton').click()ale nechce ich potvrdit. Ako to "ofajcit"?
nóóóó voni to maj jakoby strčený v iframu takže se do něj musíme přepnout nejdřiv :o ;)
joa tu metodu click tam máš napsanu uplně divně protože 'buttons' sou list  :o :o čti coti to jakoby piše do terminálu za chyby vždycky  ;D ;)
Kód: [Vybrat]
Traceback (most recent call last):
  File "delani_s_chromiem.py", line 5, in <module>
    buttons = driver.find_elements_by_xpath('//*[@id="introAgreeButton"]').click()
AttributeError: 'list' object has no attribute 'click'
takže takle nějak byto mohlo fungovat
Kód: (python) [Vybrat]
from selenium import webdriver

driver = webdriver.Chrome()
driver.get('http://www.google.com')
driver.switch_to.frame(driver.find_element_by_tag_name('iframe'))
buttons = driver.find_elements_by_xpath('//*[@id="introAgreeButton"]')
print(buttons) # koukej žeto je list :O ;D
buttons[0].click()
print('hotovo!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!')


Re:Python vyhladavanie na google s kliknutim
« Odpověď #8 kdy: 20. 10. 2020, 21:44:37 »
Wrána diskuze : vobec ma nenapadlo ze je to iframe :( :) Kazdopadne dakujem funguje to ako ma.