我的项目文件夹中有多个蜘蛛,想要一次运行所有的蜘蛛,所以我决定使用scrapyd服务运行它们.我已经开始这样做了
首先,我在当前项目文件夹中
我打开了scrapy.cfg文件,然后取消注释了url行
[部署]
我运行了scrapy server命令,运行良好,并且运行了scrapyd服务器
我试过这个命令 scrapy deploy -l
结果: default http://localhost:6800/
scrapy deploy -L scrapyd我得到了以下输出结果:
Usage
=====
scrapy deploy [options] [ [target] | -l | -L <target> ]
deploy: error: Unknown target: scrapyd
Run Code Online (Sandbox Code Playgroud)
当我尝试使用此命令部署项目时scrapy deploy scrapyd -p default出现以下错误
Usage
=====
scrapy deploy [options] [ [target] | -l | -L <target> ]
deploy: error: Unknown target: scrapyd
Run Code Online (Sandbox Code Playgroud)
我真的无法识别whey scrapyd是否显示上述错误,可以引导我以正确的方式将项目部署到scrapyd
提前致谢..........
编辑代码:
在看到Peter Kirby的答案之后,我在scrapy.cfg中命名了target并在我的项目文件夹中尝试了以下命令,
命令:
scrapy deploy ebsite …Run Code Online (Sandbox Code Playgroud) 我有一个使用Android Studio构建的Android项目并试图在我的Android Studio上导入并运行它,但在尝试同步项目时面临以下错误
Failed to sync Gradle project 'project-android'
Error:Gradle version 1.10 is required. Current version is 2.2.1. If using the gradle wrapper, try editing the distributionUrl in /Users/username/apps/android/project-android/gradle/wrapper/gradle-wrapper.properties to gradle-1.10-all.zip.
Please fix the project's Gradle settings in Gradle settings
Run Code Online (Sandbox Code Playgroud)
gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-1.10-all.zip
Run Code Online (Sandbox Code Playgroud)
的build.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.9.+'
}
}
allprojects {
repositories {
mavenCentral()
}
}
Android Studio Version : 1.0.1
Run Code Online (Sandbox Code Playgroud)
那么如何解决上述错误
编辑
更改@Grabiele指示的行后,我得到以下错误
Error:(22, 0) Gradle DSL method not …Run Code Online (Sandbox Code Playgroud) 我正在使用 uuid 创建一个 id 字段,它是主键,如下所示
import uuid
class User_Profile(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
Run Code Online (Sandbox Code Playgroud)
因此,每当我们将对象保存到数据库中时,它都会保存为 UUID 实例而不是字符串,如下所示
user_profiles = User_Profile.objects.values_list('id', flat=True)
print user_profiles
[UUID('193b6acc-2b78-4ddc-9ef8-632cde33ef74')]
Run Code Online (Sandbox Code Playgroud)
现在如何使用 django ORM 查询它?因为它没有保存为字符串,所以我无法按如下方式获取它并出现错误
user_profile = User_Profile.objects.get(id='193b6acc-2b78-4ddc-9ef8-632cde33ef74')
Run Code Online (Sandbox Code Playgroud)
ValueError: invalid literal for int() with base 10: '193b6acc-2b78-4ddc-9ef8-632cde33ef74'
Run Code Online (Sandbox Code Playgroud)
当我从 Django 中的查询参数收到这个 uuid 作为字符串时,我也尝试将它从字符串转换为 uuid,如下所示,我得到了错误
import uuid
id = uuid.UUID('193b6acc-2b78-4ddc-9ef8-632cde33ef74')
user_profile = User_Profile.objects.get(id=id)
Run Code Online (Sandbox Code Playgroud)
ProgrammingError: operator does not exist: uuid = numeric
LINE 1: ...ifications" FROM "tc_user_profile" WHERE "tc_user_profile"."id" = 33539211...
^
HINT: No operator matches the given …Run Code Online (Sandbox Code Playgroud) 基本上,我知道抽象基类像常规类一样用作框架类,但强制要求子/继承类覆盖抽象方法,如果它有下面的类
Class AbstractClass(object):
__metaclass__ = abc.ABCMeta
@abstractmethod
def absmethod(self):
pass
class ChildClass(AbstractClass):
def absmethod(self):
print "Yeah!"
obj = ChildClass()
Run Code Online (Sandbox Code Playgroud)
所以我们可以创建一个ChildClass如上所述的对象
我们知道我们不能实例化一个抽象类,因为它只是骨架,如果我们试图将它实例化,我们将得到一个错误
obj = AbstractClass()
*** TypeError: Can't instantiate abstract class AbstractClass with abstract methods absmethod
Run Code Online (Sandbox Code Playgroud)
但是我对发布这个的实际查询StackOverflow是,如果我们通过使用abc.ABCMeta而不使用抽象方法创建一个抽象类,我可以创建抽象类的实例,但不应该是这种情况(如果我错了,请纠正我)
Class AbstractClass(object):
__metaclass__ = abc.ABCMeta
obj = AbstractClass()
Run Code Online (Sandbox Code Playgroud)
OOOPPPSS它有效,我们实际上可以创建一个抽象类的对象,而无需抽象方法?所以请让我知道这背后的关键点
我正在使用scrapy框架废弃网站,并且无法点击javascript链接以打开另一个页面.
我可以将页面上的代码识别为:
<a class="Page" alt="Click to view job description" title="Click to view job description" href="javascript:sysSubmitForm('frmSR1');">Accountant </a>
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议我如何在scaroy中执行该javascript并通过我可以从该页面获取数据来获取另一页.
提前致谢
我正在使用scrapy抓取网站
我已经编写了蜘蛛程序,并从页面中获取了所有项目,并保存到一个csv文件中,现在我想保存total execution time由scrapy执行的蜘蛛程序文件,实际上是在完成蜘蛛程序执行之后以及在终端上执行该操作时会显示诸如此类的结果starttime, endtime....所以现在在我的程序中,我需要计算scrapy运行spider所需的总时间,并将总时间存储在某个位置....
现在有人可以通过示例让我怎么做........
提前致谢...........
嗨我正在使用python和数据库作为Mysql,现在我想从python连接到Mysql数据库,我写了下面的代码
Method_1
import MySQLdb as mdb
conn = mdb.connect('ip_address', 'user_name', 'pass_word', 'database_name')
Run Code Online (Sandbox Code Playgroud)
通过使用上面我可以成功连接到Mysql,但我想知道我们是否可以通过使用连接字符串和访问像我在下面提到的那样做
Method_2
connectString=Server=ip_address;Database=database_name;UID=user_name;PWD=pass_word
conn = mdb.connect(connectString)
Run Code Online (Sandbox Code Playgroud)
但我通过使用上面的方法得到一个错误,所以任何人都可以让我知道我们是否只能通过method_1访问Mysql数据库,或者有没有办法将访问凭证声明为某个变量并使用该变量进行连接,就像我在method_2中提到的那样
编辑代码:
实际上我正在尝试的是下面给出的
example_file.ini
[for_primary]
connectString=host="192.168.xx.xxx",user="username_1",passwd="password_1",db="database_1"
[for_secondary]
connectString=host="192.168.xx.xxx",user="username_2",passwd="password_2",db="database_2"
Run Code Online (Sandbox Code Playgroud)
file.py:
import ConfigParser
import MySQLdb as mdb
configFeed = ConfigParser.ConfigParser()
configFeed.read('path to file/example_file.ini')
connectString = configFeed.get('for_primary', 'connectString')
conn = mdb.connect(connectString)
print conn
Run Code Online (Sandbox Code Playgroud)
结果:
File "/usr/lib64/python2.7/site-packages/MySQLdb/__init__.py", line 81, in Connect
return Connection(*args, **kwargs)
File "/usr/lib64/python2.7/site-packages/MySQLdb/connections.py", line 187, in __init__
super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (2005, 'Unknown MySQL …Run Code Online (Sandbox Code Playgroud) 我正在研究 python,并遇到了一些查找代码的统计信息和执行时间的概念
假设我有以下代码
from time import gmtime, strftime
import timeit
def calculation():
a = 2
b = 3
res = a + b
return res
if 'name' == 'main' :
exec_time = timeit.timeit(calculation)
print exec_time
Run Code Online (Sandbox Code Playgroud)
结果:
0.2561519145965576
Run Code Online (Sandbox Code Playgroud)
所以从上面的代码我可以找到代码的执行时间,但是如何在python中找到代码的统计信息呢?
最后我的意图如下
编辑后的代码:
例如我的文件中有上面的代码test.py
现在我已经使用下面的命令运行了上面的文件
python -m cProfile test.py
Run Code Online (Sandbox Code Playgroud)
结果 :
sh-4.2$ python -m cProfile test.py
4 function calls in 0.001 seconds
Ordered by: standard name
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.001 0.001 0.001 0.001 test.py:1(<module>)
1 …Run Code Online (Sandbox Code Playgroud) 我正在尝试Edit/Update使用django的模型对象(记录)Updateview
model.py
from django.db import models
from myapp.models import Author
class Book(models.Model):
author = models.ForeignKey(Author)
book_name = models.CharField(max_length=260)
amount = models.DecimalField(
max_digits=10, decimal_places=2, default=0.00)
description = models.TextField()
Run Code Online (Sandbox Code Playgroud)
views.py
class BookEditView(generic.UpdateView):
model = Book
template_name_suffix = '_update_form'
exclude = ('author',)
def get_success_url(self):
return reverse("books:list_of_books")
Run Code Online (Sandbox Code Playgroud)
books_update_from.html
{% extends "base.html" %}
{% block main_title %}Edit Book{% endblock %}
{% block content %}
<form method="post" action="" class="form-horizontal">
{{form.as_p}}
</form>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
呈现表单时,Author即使我exclude在BookEditview上面提到它,外部字段仍然显示在页面上
那么如何隐藏该字段并提交表单?
此外,我试图通过渲染个别领域,如 …
有时当我看到我的终端时,我看到下面的错误,任何人都可以告诉我它是否正在显示以及如何避免它?
Exception happened during processing of request from ('127.0.0.1', 39444)
Traceback (most recent call last):
File "/usr/lib/python2.7/SocketServer.py", line 582, in process_request_thread
self.finish_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 323, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/home/comp/Envs/proj/local/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 150, in __init__
super(WSGIRequestHandler, self).__init__(*args, **kwargs)
File "/usr/lib/python2.7/SocketServer.py", line 640, in __init__
self.finish()
File "/usr/lib/python2.7/SocketServer.py", line 693, in finish
self.wfile.flush()
File "/usr/lib/python2.7/socket.py", line 303, in flush
self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe
Run Code Online (Sandbox Code Playgroud) python ×8
django ×3
scrapy ×3
android ×1
broken-pipe ×1
build.gradle ×1
django-forms ×1
gradle ×1
mysql ×1
scrapyd ×1
statistics ×1
uuid ×1
view ×1