想用百度通过关键词查找CSDN类文章时,发现百度显示出来的目标网站除了广告类网站在HTML显示具体的url外,其他网站的url基本被屏蔽。无奈之下,只能通过点击的方式获取目标网站的url,并对广告类的网站进行了过滤。
# -- coding: utf-8 --
# -- coding: utf-8 --
from selenium import webdriver
from time import sleep
from selenium.webdriver.support.select import By
driver = webdriver.Firefox()
driver.maximize_window()
driver.get("https://www.baidu.com")
sleep(2)
driver.find_element(By.ID,"kw").send_keys("CSDN python爬虫")
driver.find_element(By.ID,"kw").submit()
sleep(3)
index_handle = driver.current_window_handle
lists1= []
tels = driver.find_elements(By.XPATH,"//h3[@class='t']/a")
print(tels)
for i in tels:
if i.get_attribute("data-landurl") == None:
sleep(0.2)
i.click()
sleep(1.5)#这里需要等待百度对目标url进行解析,根据网络情况设置长短
handles = driver.window_handles
driver.switch_to.window(handles[-1])
if "blog" in driver.current_url:
lists1.append(driver.current_url)
sleep(0.2)
driver.close()
driver.switch_to.window(index_handle)
print("lists1 is:%r"%lists1)
print(len(lists1))