#用selenium打开百度首页
#第一次运行代码时应该在safari开发者选项中设置'allow remote automation'
1 from selenium import webdriver2 browser=webdriver.Safari()3 browser.get('http://www.baidu.com/')
#远程打开百度首页,并搜索关键词并打印搜索关键词后的源代码
1 from selenium import webdriver 2 from selenium.webdriver.common.keys import Keys 3 driver = webdriver.Safari() 4 driver.get('http://www.baidu.com/') 5 6 #获取web中名字为wd的标签 7 elem = driver.find_element_by_name("wd") 8 #搜索cxy61 9 elem.send_keys("cxy61")10 elem.send_keys(Keys.RETURN)11 12 print driver.page_source
分析网页源代码
#safari偏好设置中点击在菜单中显示'开发者’选项
#在开发中点击显示网页检查器(command+option+i)
打印我们筛选后真正需要的爬下来的数据
1 #coding:utf-8 2 from selenium import webdriver 3 from selenium.webdriver.common.keys import Keys 4 5 dr = webdriver.Safari() 6 dr.get('https://www.qiushibaike.com') 7 #在控制台中发现糗事百科左边都是内容,右边是广告,而左边标签id都是content-left 8 #获取id为content-left的[标签] 9 main_content = dr.find_element_by_id('content-left')10 content = main_content.find_elements_by_class_name('content')11 i=112 for want2see in content:13 print str(i)+want2see.text+'n'14 i+=115 16 #退出我们打开的浏览器17 dr.quit()
用类封装实现爬虫
1 #coding:utf-8 2 from selenium import webdriver 3 class Qiubai(object): 4 def __init__(self): 5 #这步干嘛 6 self.dir=webdriver.Safari() 7 #所以在初始化实例时还能进行打开网页的操作 8 self.dir.get('https://www.qiushibaike.com') 9 10 def print_content(self):11 #相比较于没有用类实现的爬虫,dir放在__init__方法中定义12 #下面两行代码中的element和elements的区别?13 main_content=self.dir.find_element_by_id('content-left')14 self.content = main_content.find_elements_by_class_name('content')15 i=116 for con in self.content:17 print str(i)+con.text+'n'18 i+=119 #还可以在类的方法中调用该类中定义的另一个方法20 self.quit()21 22 def quit(self):23 self.dir.quit()24 #这里Qiubai()是Qiubai的一个实例,只是没有设置一个变量指向这个实例而已25 Qiubai().print_content()效果:
转载于:https://www.cnblogs.com/IcarusYu/p/7495084.html