关于无界面浏览器、request模块、tesseract模块的部分笔记
1、Headless Chrome 谷歌无界面版本 from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_argument('--headless') chrome_options.add_argument('--disable-gpu') 火狐无界面: #无头模式 options = webdriver.FirefoxOptions() options.add_argument('-headless') profile = webdriver.FirefoxProfile() 一些用得到的配置: 1.permissions.default.image = 2 0:加载所有图片 1:Load images from same (originating) server only(就这个意思) 2:不加载图片 2.javascript.enabled = true js解析功能 2.network.prefetch-nextfalse = false 预加载功能,载入一个网页后,会预加载你可能会打开的网页链接内容。 3.network.dns.disableIPv6 = true 禁用IPv6,IPv4是主流,IPv6数量很少,很少会去解析,关闭它可以提高速度。 2、requests 安装:pip install requests 用来做什么:和urllib是同一个位置的 模拟浏览器发送请求 get请求 requests.get(url) 响应对象: r.text 字符串形式查看响应 r.content 字节类型查看响应 r.encoding 查看或者设置编码类型 r.status_code 查看状态码 r.headers 查看响应头部 post请求 必应翻译:r.json() 查看json数据 AJAX、get、post 和上面一样 定制头部 代理 cookie 对于有cookie验证的网站 应该先生成一个Session对象 后面使用这个对象去访问 s = requests.Session() r=s.get(url,headers=headers,data=form_data) r.content r.text 3、图片验证码 古诗文网 4、tesseract简介 是一个机器识别验证码的模块 但是功能较弱 可以机器学习 代码识别: pytesseract模块 pip install pytesseract pip install pillow #转化为灰度图片 img = img.convert('L') img.show() #二值化处理 threshold = 140 table = [] for i in range(256): if i < threshold: table.append(0) else: table.append(1) out = img.point(table,'1') out.show()
作者:求知鱼
-------------------------------------------
个性签名:你有一个苹果,我有一个苹果,我们交换一下,一人还是只有一个苹果;你有一种思想,我有一种思想,我们交换一下,一个人就有两种思想。
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
独学而无友,则孤陋而寡闻,开源、分享、白嫖!