繁体   English   中英

Python打印结果中包含特定的字符串

[英]Python print results which contains specific string in it

我正在尝试获取Google搜索结果说明。

from selenium import webdriver
import re
chrome_path = r"C:\Users\xxxx\Downloads\Compressed\chromedriver_win32\chromedriver.exe"
driver = webdriver.Chrome(chrome_path)
driver.get("https://www.google.co.in/search?q=stackoverflow")
posts = driver.find_elements_by_class_name("st")
for post in posts:
    print(post.text)

我在这里得到正确的结果。 但是我只想从描述中打印链接。 并希望从5个Google搜索页面中获取结果。 在这里,我只能从1页获得信息。

我尝试使用

print(post.get_attribute('href'))

但是描述链接不可点击,因此返回None。

试试下面的代码:

for i in range(1, 6, 1):
    print("--------------------------------------------------------------------")
    print("Page "+str(i)+" Results : ")
    print("--------------------------------------------------------------------")
    staticLinks = driver.find_elements_by_xpath("//*[@class='st']")
    for desc in staticLinks:
        txt = desc.text+''
        if txt.count('http://') > 0 or txt.count('https://') > 0:
            for c in txt.split():
                if c.startswith('http') or c.startswith('https'):
                    print(c)

    dynamicLinks = driver.find_elements_by_xpath("//*[@class='st']//a")
    for desc in dynamicLinks:
        link = desc.get_attribute('href')
        if link is not None:
            print(link)
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
    nextPage = driver.find_element_by_xpath("//a[@aria-label='Page "+str(i+1)+"']");
    nextPage.click();

将尝试从Google的前5个搜索结果描述中获取静态和动态链接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM