这是一种比较好的反反爬技术
#安装:pip install selenium=2.48.0 #显示:pip show selenium #卸载:pip uninstall selenium #模拟用户行为 from selenium import webdriver import os import time from selenium import common #生成一个浏览器对象 driver = webdriver.PhantomJS() #访问 driver.get('http://www.baidu.com/') #创建文件夹存放数据 root_dir = 'baidu' if not os.path.exists(root_dir): os.mkdir(root_dir) #存储的文件夹及命名的文件名 file_name = root_dir + '/homepage.png' #截屏并保存图片 driver.save_screenshot(file_name) #模拟用户行为操作 timeout = 4 count = 0 #输入行为 while True: #只进行访问四次 访问不成功就终止 if count > 4: break try: #通过id号找到百度的输入框 obj = driver.find_element_by_id('kw') #在找到的输入框中 输入文字 obj.send_keys(u'章丘铁锅') print(obj) break except common.exceptions.NoSuchElementException as e: print(e) #报错后 等待4秒 再次访问 time.sleep(timeout) count += 1 #存储的文件夹及命名的文件名 file_name = root_dir + '/homepage_zhangqiutieguo.png' #截屏并保存图片 driver.save_screenshot(file_name) #模拟鼠标点击操作 #通过id号找到点击按钮 su = driver.find_element_by_id('su') #点击 su.click() #等到4秒 等页面加载完成 time.sleep(4) #存储的文件夹及命名的文件名 file_name = root_dir + '/homepage_search.png' #截屏并保存图片 运行后就可以看到 相当于在百度输入章丘铁锅后的页面 想想都很激动呢 driver.save_screenshot(file_name)