我写了一个小scrapy蜘蛛.以下是我的代码
class ElectronicsSpider(scrapy.Spider):
name = "electronics"
allowed_domains = ["www.olx.com"]
start_urls = ['http://www.olx.com/']
def parse(self, response):
pass
Run Code Online (Sandbox Code Playgroud)
我的问题是,我想使用设置读取名称,allowed_domains和start_urls.我怎样才能做到这一点?
我试过导入
from scrapy.settings import Settings
Run Code Online (Sandbox Code Playgroud)
也尝试了这个
def __init__(self,crawler):
self.settings = crawler.settings
Run Code Online (Sandbox Code Playgroud)
但我没有/错误.帮我看看蜘蛛中的设置?
我正在编写SQL查询以获取python中当前月份的第一个日期和最后一个日期之间的可用数据.为此,我如何获得当月的第一个和最后一个日期.(在stackoverflow中已经问过的问题只处理结束日期.我也希望答案作为日期字段,如01-03-2016或31-03-2016)
目前,我正在学习odoo。我想知道ir.ui.view?
这是我的示例代码
<record model="ir.ui.view" id="course_search_view">
<field name="name">course.search</field>
<field name="model">openacademy.course</field>
<field name="arch" type="xml">
<search>
<field name="name"/>
<field name="description"/>
</search>
</field>
</record>
Run Code Online (Sandbox Code Playgroud) 是否可以Qweb在日历视图中使用模板?我想稍微修改它,但我所能做的就是添加要在日历项中显示的新字段,如下所示 - field1, field2, field3.....
有没有更好的方法来自定义日历视图,就像你可以使用Qweb模板引擎看看看板视图?
例如,如果我这样使用:
<record model="ir.ui.view" id="view_calendar_service_work_calendar">
<field name="name">Service Works Calendar</field>
<field name="model">calendar.service.work</field>
<field name="priority" eval="1"/>
<field name="arch" type="xml">
<calendar string="Service Works" date_start="start_time" color="employee_id" date_stop="end_time" mode="week">
<field name="name"/>
<field name="employee_id"/>
<template>
<t t-name="something"></t>
</template>
</calendar>
</field>
</record>
Run Code Online (Sandbox Code Playgroud)
这会抛出错误:
Uncaught TypeError: Cannot read property 'type' of undefined
http://localhost:8090/web_calendar/static/src/js/web_calendar.js:414
事实上,如果我使用除field标签之外的任何其他东西,它将抛出该错误.我甚至不能使用div标签.所以看来你根本不能设置日历样式?
我正在使用 python3.8 的内置 asyncio 包和已安装的 aiomysql 包实现异步 MySQL 查询执行。即使我已经正确关闭了所有打开的游标和连接,我的控制台上仍然会出现如下错误消息。
An open stream object is being garbage collected; call "stream.close()" explicitly.
Run Code Online (Sandbox Code Playgroud)
下面给出了代码的摘要......
#db.py
import asyncio
class AsyncMysqlSession:
def __init__(self, loop, db_settings=DEFAULTDB):
self.db_settings = db_settings
self.loop = loop
async def __aenter__(self):
self.conn = await aiomysql.connect(host=self.db_settings['HOST'],
port=self.db_settings['PORT'],
user=self.db_settings['USER'],
password=self.db_settings['PASSWORD'],
db=self.db_settings['NAME'],
loop=self.loop)
self.cursor = await self.conn.cursor(aiomysql.cursors.DictCursor)
return self
async def __aexit__(self, exception, value, traceback):
await self.cursor.close()
self.conn.close()
async def query(self, sql, *args):
await self.cursor.execute(sql, values)
await self.conn.commit()
rows = await self.cursor.fetchall()
return list(rows)
async …Run Code Online (Sandbox Code Playgroud) 我有两个日期时间对象
`statrt_time` and `end_time`
Run Code Online (Sandbox Code Playgroud)
我的代码是
if self.book_from and self.book_to:
fmt = '%Y-%m-%d %H:%M:%S'
s = datetime.strptime(self.book_from,fmt) #start date
e = datetime.strptime(self.book_to,fmt) #end date
diff = e - s
total_seconds=diff.seconds
time_diff = (total_seconds/3600.0)
no_of_units = (time_diff/4)
if(e<s):
self.units = 0
else:
self.units = math.ceil(no_of_units)
Run Code Online (Sandbox Code Playgroud)
在这里,当我在同一天减去时间时,它给出了正确的差异.但是当这一天改变时,它不是计算日差,而只是计算时差.我怎样才能增加日差?
我的字符串中将包含 () 。我需要做的是更改括号之间的文本。
示例字符串:"B.TECH(CS,IT)". 在我的字符串中,我需要将括号内的内容更改为类似这样的内容。B.TECH(ECE,EEE)
我尝试解决这个问题的方法如下。
reg = r'(()([\s\S]*?)())'
a = 'B.TECH(CS,IT)'
re.sub(reg,"(ECE,EEE)",a)
Run Code Online (Sandbox Code Playgroud)
但我得到这样的输出..
'(ECE,EEE)B(ECE,EEE).(ECE,EEE)T(ECE,EEE)E(ECE,EEE)C(ECE,EEE)H(ECE,EEE)((ECE,EEE)C(ECE,EEE)S(ECE,EEE),(ECE,EEE)I(ECE,EEE)T(ECE,EEE))(ECE,EEE)'
Run Code Online (Sandbox Code Playgroud)
有效的输出应该是这样的..
B.TECH(CS,IT)
Run Code Online (Sandbox Code Playgroud)
我缺少的地方以及如何正确替换文本。
下面这段代码...
data = np.array([['','state','zip_code','collection_status'],
['42394','CA','92637-2854', 'NaN'],
['58955','IL','60654', 'NaN'],
['108365','MI','48021-1319', 'NaN'],
['109116','MI','48228', 'NaN'],
['110833','IL','60008-4227', 'NaN']])
print(pd.DataFrame(data=data[1:,1:],
index=data[1:,0],
columns=data[0,1:]))
Run Code Online (Sandbox Code Playgroud)
...给出以下数据框:
state zip_code collection_status
42394 CA 92637-2854 NaN
58955 IL 60654 NaN
108365 MI 48021-1319 NaN
109116 MI 48228 NaN
110833 IL 60008-4227 NaN
Run Code Online (Sandbox Code Playgroud)
目标是将“zip_code”列同质化为 5 位格式——即,当特定数据点有 9 位而不是 5 位时,我想从 zip_code 中删除最后四位数字。顺便说一句,zip_code 的类型是“对象”类型.
任何的想法?
目前我有一个Django项目的需求,我需要在不使用任何API框架的情况下开发django API。因此,为了继续,我想知道如何在没有第三方框架的情况下创建 API。
在帐户模块中的客户发票中,有一个one2many字段,
invoice_line = fields.One2many('account.invoice.line', 'invoice_id', string='Invoice Lines')
Run Code Online (Sandbox Code Playgroud)
使用此字段,我们可以在发票中添加多个产品.添加多个产品后,如何将这些产品从这个领域中分离出来,这样我就可以获得产品ID.
假设我们保存两个产品,我们将有两个条目.从这两个条目我需要分离每个产品的产品ID
我正在创建一个python函数来检查Python中是否存在给定的电子邮件ID.这是我的代码:
def email_validate(email_address):
addressToVerify = email_address
domain_name = addressToVerify.split('@')[1]
try:
records = dns.resolver.query(domain_name, 'MX')
except Exception as e:
print e
a = traceback.format_exc()
print a
return HttpResponse(json.dumps({"success":False,"message":"Email Domain is not valid."}), content_type="application/json")
mxRecord = records[0].exchange
mxRecord = str(mxRecord)
server = smtplib.SMTP()
server.set_debuglevel(0)
# SMTP Conversation
server.connect(mxRecord)
server.helo(host)
server.mail('me@domain.com')
try:
code, message = server.rcpt(str(addressToVerify))
server.quit()
except:
a = traceback.format_exc()
if code == 250:
return HttpResponse(json.dumps({"success":True,"message":"Email ID is valid."}), content_type="application/json")
else:
return HttpResponse(json.dumps({"success":False,"message":"Email ID is not valid."}), content_type="application/json")
Run Code Online (Sandbox Code Playgroud)
此代码适用于Gmail帐户,但它会为其他电子邮件ID提供错误.如果我尝试其他电子邮件ID,则此行:
code, message = …Run Code Online (Sandbox Code Playgroud) 我需要以这样的方式舍入浮点数,
如果7.4到来,它应该舍入到下一个较低的数字,即7.
如果7.5或7.6来,它应该舍入到下一个更高的数字,即8
我怎样才能做到这一点?我正在使用python 2.7