Day3
今日学习:
1.aiomysql+sqlalchemy实现ORM框架【实现仿优酷系统添加用户】
2.使用request爬取同学的博客
今日总结:
其实今天也没什么好总结的,主要还是在《今日学习》的1里,学习写ORM;
课上主要是学习基本的SQL语句看,对表的增删改查,以前在学校里学的是对多表操作,触发器,游标;
技术分享:
1.sqlalchemy绑定数据的两种方式:声明映射,和,经典映射
先说说经典映射,经典映射的方式是利用mapper()绑定创建的类和对应的数据库表,有点类似Spring MVC的映射方式
声明映射是官方推荐的,不用创建mapper,也不会MeteData对象
2.利用sqlalchemy的Session向数据库添加数据:
自我感觉sqlalchemy的session比较好用,假如我创建了ygy=User(id=1,name='杨归元',is_vip=0)
那么我可以直接使用session.add(ygy)就能向数据库添加数据(但我并没有这么做,而是使用了aiomysql向数据填进数据,啃硬骨头)
3.异步asyn库的使用:
3.1以下的语句:
loop = asyncio.get_event_loop()
loop.run_until_complete(go())
可以写成:
asyncio.get_event_loop().run_until_complete(go())
3.2 await:在线程等待的地方使用,我今天学习的时候都是在获得返回值的时候使用(会不会因为await == yield from ?)
3.3 做爬虫不是越快越好,虽然能利用asyn提高速度,但是爬虫最重要的还是访问频率;而且也要看网络阻塞情况
职业规划
学习路线:
1.掌握xpath/beautifulsoup/re
2.掌握并发编程库:asyncio,aiohttp
3.掌握前端js和bootstao,好像有vuejs
4.学会scrapy框架 5.学会用selenium
6.掌握反爬
7.linux+django