MongoDB概念介绍
三元素:数据库,集合,文档
多线程
线程相当于车厢,进程相当于火车
threading模块
threading.tread(target=方法名)
查看多少个线程
threading.enumerate()
查看当前线程的名字
threading.current_thread()
通常书写方法是继承threading.thread类
共享全局变量,需要使用global指定
创建锁
glock=threading.lock()
上锁
glock.acquire()
释放锁
glock.release()
会修改的值需要加锁
condition锁
threading.condition
notify通知正在等待的线程 默认第一个
notify_all通知所有线程
queue线程安全队列
Queue先进先出队列
put 加数据,如果满了,会一直阻塞
qsize 队列大学
empty 是否为空
full 是否满了
get 获取一个数据,如果队列里没有值,会一直
阻塞
gil全局解释器锁
ajax页面抓取
ajax异步的js和xml
selenium常用操作
driver.close()关闭当前页面
driver.quit()关闭浏览器
find_element_by_id 根据id查找某个元素
find_element_by_class_name g根据类名查找元素
find_element_by_name 根据name属性的值查找元素
find_element_by_tag_name 根据标签名来查找
元素
find_element_by_xpath 根据xpath语法来获取元素
上述都是选择一个标签,多个为elements
如果只数据,那么推荐奖网页源代码扔给是想要解
析网页中的lxml来解析。因为lxml底层使用的是c语
言,所有解析效率会更高
如果是想要对元素进行一些操作,比如给一个文本
框输入值,或者是点击某个按钮,那么就必须使用
selenium给我们提供的查找元素的方法。
cookie操作
获取所有的cookie信息
driver.get_cookie()
根据cookie的key获取value
driver.driver.get_cookie(key)
删除所有的cookie
driver.delete_all_cookie()
删除某个cookie
driver.delete_cookie(key)
页面等待
隐式等待
显示等待
切换页面
driver.execute_script(“window.open(’”+url
+"’)")
self.driver.switch_to_window
(self.driver.window_handles[1])
使用代理
options.add_argument("–proxy-server-
WebElement元素
图形验证码识别技术
开源库 Tesseract
是一个OCR库
由谷歌支持