问题:表单数据太多,一个个获取变量太慢了,多个表单数据重复,都是增加或修改,如果批量操作
解决:使用sqlalchemy批量操作,使用eval获取操作的model,eval可以将字符串转换为方法或类
问题:表单数据太多,一个个获取变量太慢了,多个表单数据重复,都是增加或修改,如果批量操作
解决:使用sqlalchemy批量操作,使用eval获取操作的model,eval可以将字符串转换为方法或类
问题:使用tornado的@gen.coroutine进行装饰,无法实现异步的功能
解决:time.sleep()是阻止异步的,可以使用gen.sleep()代替实现
方法:
取消time.sleep()的使用
问题:python的rq队列使用不成功
解决:没有启动rqworker进程
方法:
下面是python rq使用官方案例
一、安装rq
pip install rq
一、新建文件my_module.py
# -*- coding: UTF-8 -*- import requests
# 需要安装requests,用于抓取网页内容
def count_words_at_url(url):
resp = requests.get(url)
return len(resp.text.split())
问题:使用pyquery如何获取元素本身?outhtml,outerHtml
解决:使用outerHtml()方法
方法:
>>> d = PyQuery('<div><span class="red">toto</span> rocks</div>')
>>> print(d('span')) <span class="red">toto</span> rocks
>>> print(d('span').outerHtml()) <span class="red">toto</span>
>>> S = PyQuery('<p>Only <b>me</b> & myself</p>')
>>> print(S('b').outerHtml()) <b>me</b>
# for z in [pq(x).siblings('a') for x in d('span .pl') if pq(x).text() == '编剧']:
scriptwriters = []
for scriptwriter in d("span .pl").filter(lambda i: PyQuery(this).text() == '编剧').siblings('a'):
#class为pl的span标签,内容为‘编剧’的兄弟a标签
scriptwriters.append(pq(scriptwriter).text())
注:lambda i: PyQuery(this).text() == '编剧' 此处用this不是用i
参考:
http://pythonhosted.org/pyquery/api.html