20171024
①导入自定义的模块(如类),需要在当前类作导入 类的引用声明,如self.tool = tool.Tool()
20171025
①正则表达式:两个<><>之间匹配不到的时候需要考虑 换行符的存在,加上.*?即可。
②注意每行代码的缩进。
③中文编码问题:decode(' utf-8') decode(' gbk')
④文件读写:file=open(文件名,打开格式),file.write()
⑤格式化字符%%,输出%
⑥用于判断的逻辑变量,False True 和0 1 不同
20171026
①写入图片,urlopen,read,write。注意文件名为xxx.jpg
②下载图片的网络响应问题IOError: [Errno ftp error] [Errno 10060]
③os.makedirs创建文件目录,os.path.exists检查是否存在。
④python爬虫实战四心得:给定图片URL抓取图片下载到本地,可行。但比如一个mm的个人网址多个图片抓取就提示10060。
20171027
①尝试列表多个图片URL,抓取导入本地,3个,可行。
②淘女郎mm图片链接 + 上“https:”后,可以实现抓取。多个链接抓取图片实现。
③抓取新的模特的时候,发生错误,'NoneType' object has no attribute 'group'
④第一次尝试为重新执行抓取,因为有时候第一次就会弹出这个错误,有时候是第二次.etc
2017/11/03(之前第一次记录日记丢失,11/06补上)
①获取图片URL有问题,不再继续学习。转爬虫框架和高级工具(库)。
②requests库,requests.post\get\delate\head\options\,cookies,timeout,会话session持久,verify,proxies
③Beautiful Soup库,安装。导入from bs4 import BeautifulSoup。输出.prettify。标签\字符串\注释。
④遍历,直接子(children\contents)\所有子孙(descendants)\内容(strings)\父节点(parent)\s\
兄弟(next_sibling\previous_sibling)\s\next_element\previous
⑤搜索,findall\find\
⑥CSS选择器,标签\类名\ID\组合,注意同一节点中的组合中间不能加空格。
⑦开始学习Xpath,lxml。
2017/11/06
①装机图表,excel VBA函数实现自动更新进程点的颜色。
②在excel打开时自动执行VBA函数代码,目前仅能在thisworkbook下定义函数\直接写代码\新建模块定义函数,然后open事件中call。
③方法二。在对应的sheet的private sub worksheet_Activate代码下,不定义函数,直接写代码,
然后在open中调用sheet3.activate(随后\之前需要activate其他sheet才行)即可。
④条件格式的数据条表达进度百分比,直接“=”会出错。
解决方法:在thisworkbook下定义函数Sheets(3).Range("C16") = Sheets(3).Range("F20")
然后在open中call即可。
⑤冻结窗口的灵活变动。
⑥接着学习xpath语法和lxml解析库。
2017/11/07
①Xpath语法。
②节点关系,父\子\同胞\先辈\后代。
③选取节点。nodenamme(节点名称)、/(直接子元素)、//(所有元素)、.( 选取当前节点)、..(当前节点的父节点)、@(属性)。
④谓语,在[]中。
⑤*表示任意匹配。
⑥运算符。
①phantomjs工具,浏览器引擎。运行失败 can't open文件。
②Selenium,自动化测试工具,驱动浏览器/PhantomJS,支持python。
③用python写selenium去驱动phantomjs来模拟浏览器爬虫。
④关于浏览器driver的问题,重启/添加具体路径
webdriver.Chrome("C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe")
2017/11/08
①团建影片记录,寻找PPT模板/AE模板, 知乎资源海量。
2017/11/09
①合同审批核准流程。询问IE孙木。
②AE模板制作团建影片,可以简单更换图片、文字。
③AE输出文件太大,AVI格式,需要下载media encoder。
④selenium模拟输入、搜索,封装。
⑤AE模板研究,能操作进程(一个模板分为几大进程)、文字(大小、格式、位置)、图片(更换、修改)、
背景音乐(添加到下方播放条)。
⑥第一个团建影片建立完成。
2017/11/10 周五
selenium总结
①获取 .find_element_by_id/name/tag_name/xpath
②输入 .send_keys()
③模拟点击 .send_keys("and some",Keys.ARROW_DOWN)
④清除文本 .clear()
⑤下拉选项卡 select_by_index/visible_text_value Select(driver.find_element_by_name("选项卡名称"))
取消 deselect
提交 .click()/submit()
⑥元素拖拽 ActionChains.drag_and_drop(element,target).perform()
⑦页面切换 .switch_to_window("windowName/framename.0.child")
⑧弹窗 driver.switch_to_alert()
⑨等待时间 WebDriverWait(driver,10).until()
driver.implicitly_wait()
PyQuery总结
①初始化 import后pq(代码/URL/文件)
②属性操作 p.attr("id","xx")
③遍历 .items
④网页请求 pq("url")
爬虫框架PySpider和Scrapy
PySpider
主要架构:scheduler(调度器),fetcher(抓取器),processor(脚本执行)
可灵活使用各种python库对页面进行解析
2017/11/13 周一
Scrapy学习
主要组件:引擎scrapy、调度器scheduler、下载器downloader、爬虫spiders、项目管道pipeline
下载器中间件、爬虫中间件、调度中间件。
过程: ①scrapy从scheduler取出url,封装成request请求,传给downloader
②downloader下载页面,封装成应答包response,传给spiders
③spiders解析response,若是item,交给pipeline
若是URL,交给scheduler
2017/11/14 周二
试运行PySpider,提示HTTP 599: SSL certificate problem: self signed certificate in certificate chain
解决方法:在crawl中加入忽略证书验证的参数,validate_cert=False。
2017/11/15 周三
①PySpider的运行 cmd启动,端口运行,打开 http://localhost:5000 ,进入PySpider的界面
②PySpider代码,较多新内容。
③多线程和多进程
多线程的缺点:拿到GIL的CPU才能运行线程,多个核竞争一个GIL导致线程颠簸,效率更低。(不同代码块交替执行)
多线程运行同一代码块,会出现线程不同步ÿ
①导入自定义的模块(如类),需要在当前类作导入 类的引用声明,如self.tool = tool.Tool()
20171025
①正则表达式:两个<><>之间匹配不到的时候需要考虑 换行符的存在,加上.*?即可。
②注意每行代码的缩进。
③中文编码问题:decode(' utf-8') decode(' gbk')
④文件读写:file=open(文件名,打开格式),file.write()
⑤格式化字符%%,输出%
⑥用于判断的逻辑变量,False True 和0 1 不同
20171026
①写入图片,urlopen,read,write。注意文件名为xxx.jpg
②下载图片的网络响应问题IOError: [Errno ftp error] [Errno 10060]
③os.makedirs创建文件目录,os.path.exists检查是否存在。
④python爬虫实战四心得:给定图片URL抓取图片下载到本地,可行。但比如一个mm的个人网址多个图片抓取就提示10060。
20171027
①尝试列表多个图片URL,抓取导入本地,3个,可行。
②淘女郎mm图片链接 + 上“https:”后,可以实现抓取。多个链接抓取图片实现。
③抓取新的模特的时候,发生错误,'NoneType' object has no attribute 'group'
④第一次尝试为重新执行抓取,因为有时候第一次就会弹出这个错误,有时候是第二次.etc
2017/11/03(之前第一次记录日记丢失,11/06补上)
①获取图片URL有问题,不再继续学习。转爬虫框架和高级工具(库)。
②requests库,requests.post\get\delate\head\options\,cookies,timeout,会话session持久,verify,proxies
③Beautiful Soup库,安装。导入from bs4 import BeautifulSoup。输出.prettify。标签\字符串\注释。
④遍历,直接子(children\contents)\所有子孙(descendants)\内容(strings)\父节点(parent)\s\
兄弟(next_sibling\previous_sibling)\s\next_element\previous
⑤搜索,findall\find\
⑥CSS选择器,标签\类名\ID\组合,注意同一节点中的组合中间不能加空格。
⑦开始学习Xpath,lxml。
2017/11/06
①装机图表,excel VBA函数实现自动更新进程点的颜色。
②在excel打开时自动执行VBA函数代码,目前仅能在thisworkbook下定义函数\直接写代码\新建模块定义函数,然后open事件中call。
③方法二。在对应的sheet的private sub worksheet_Activate代码下,不定义函数,直接写代码,
然后在open中调用sheet3.activate(随后\之前需要activate其他sheet才行)即可。
④条件格式的数据条表达进度百分比,直接“=”会出错。
解决方法:在thisworkbook下定义函数Sheets(3).Range("C16") = Sheets(3).Range("F20")
然后在open中call即可。
⑤冻结窗口的灵活变动。
⑥接着学习xpath语法和lxml解析库。
2017/11/07
①Xpath语法。
②节点关系,父\子\同胞\先辈\后代。
③选取节点。nodenamme(节点名称)、/(直接子元素)、//(所有元素)、.( 选取当前节点)、..(当前节点的父节点)、@(属性)。
④谓语,在[]中。
⑤*表示任意匹配。
⑥运算符。
①phantomjs工具,浏览器引擎。运行失败 can't open文件。
②Selenium,自动化测试工具,驱动浏览器/PhantomJS,支持python。
③用python写selenium去驱动phantomjs来模拟浏览器爬虫。
④关于浏览器driver的问题,重启/添加具体路径
webdriver.Chrome("C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe")
2017/11/08
①团建影片记录,寻找PPT模板/AE模板, 知乎资源海量。
2017/11/09
①合同审批核准流程。询问IE孙木。
②AE模板制作团建影片,可以简单更换图片、文字。
③AE输出文件太大,AVI格式,需要下载media encoder。
④selenium模拟输入、搜索,封装。
⑤AE模板研究,能操作进程(一个模板分为几大进程)、文字(大小、格式、位置)、图片(更换、修改)、
背景音乐(添加到下方播放条)。
⑥第一个团建影片建立完成。
2017/11/10 周五
selenium总结
①获取 .find_element_by_id/name/tag_name/xpath
②输入 .send_keys()
③模拟点击 .send_keys("and some",Keys.ARROW_DOWN)
④清除文本 .clear()
⑤下拉选项卡 select_by_index/visible_text_value Select(driver.find_element_by_name("选项卡名称"))
取消 deselect
提交 .click()/submit()
⑥元素拖拽 ActionChains.drag_and_drop(element,target).perform()
⑦页面切换 .switch_to_window("windowName/framename.0.child")
⑧弹窗 driver.switch_to_alert()
⑨等待时间 WebDriverWait(driver,10).until()
driver.implicitly_wait()
PyQuery总结
①初始化 import后pq(代码/URL/文件)
②属性操作 p.attr("id","xx")
③遍历 .items
④网页请求 pq("url")
爬虫框架PySpider和Scrapy
PySpider
主要架构:scheduler(调度器),fetcher(抓取器),processor(脚本执行)
可灵活使用各种python库对页面进行解析
2017/11/13 周一
Scrapy学习
主要组件:引擎scrapy、调度器scheduler、下载器downloader、爬虫spiders、项目管道pipeline
下载器中间件、爬虫中间件、调度中间件。
过程: ①scrapy从scheduler取出url,封装成request请求,传给downloader
②downloader下载页面,封装成应答包response,传给spiders
③spiders解析response,若是item,交给pipeline
若是URL,交给scheduler
2017/11/14 周二
试运行PySpider,提示HTTP 599: SSL certificate problem: self signed certificate in certificate chain
解决方法:在crawl中加入忽略证书验证的参数,validate_cert=False。
2017/11/15 周三
①PySpider的运行 cmd启动,端口运行,打开 http://localhost:5000 ,进入PySpider的界面
②PySpider代码,较多新内容。
③多线程和多进程
多线程的缺点:拿到GIL的CPU才能运行线程,多个核竞争一个GIL导致线程颠簸,效率更低。(不同代码块交替执行)
多线程运行同一代码块,会出现线程不同步ÿ