使用python Selinium从地图下的网站上删除数据

时间:2018-01-02 17:18:23

标签: python selenium

如果网页中有地图,我要求从网页中提取所有网址,并从地图中提取数据。

我能够通过使用Python Selinum从网页获取所有网址,但无法在地图下获取数据。

这是示例网址。在谷歌,我搜索“工具租赁”并获得以下网址。在下面的网页上有一张地图,我试图在地图下获取数据。

**** URL:****

https://www.google.com/search?q=tool+rental&rlz=1C1GCEA_en&oq=tool+rental&aqs=chrome.0.0l6.1735j0j7&sourceid=chrome&ie=UTF-8

**** MAP:****

enter image description here

期望输出:

The Rental Center at The Home Depot
Northside Tool Rental
Northside Tool Rental

我尝试了不同的选项(find_eliment_by_xpath,find_eliment等)来获取上述数据但没有任何效果。

以下代码用于从地图中获取网址和数据。

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By


driver = webdriver.Firefox(executable_path=r'C:\Chaitu\Projects\Media Marketing\brightlocal\geckodriver.exe')
driver.get("https://www.google.com/search?q=tool+rental&rlz=1C1GCEA_en&oq=tool+rental&aqs=chrome.0.0l6.1735j0j7&sourceid=chrome&ie=UTF-8")
driver.save_screenshot('image.png')

element=driver.find_element_by_tag_name('body')
element_png = element.screenshot_as_png
with open("test2.png", "wb") as file:
    file.write(element_png)


elems = driver.find_elements_by_xpath("//a")
for elem in elems:
    print str(elem.get_attribute("href"))
with open("url_list.txt",'w') as f:
    for elem in elems:
        if 'maps' in str(elem.get_attribute("href")) or ('google' not in str(elem.get_attribute("href")) and 'blogger' not in str(elem.get_attribute("href")) and 'youtube' not in str(elem.get_attribute("href")) and 'https' in str(elem.get_attribute("href"))):
            f.write(str(elem.get_attribute("href"))+"\n")

0 个答案:

没有答案