我想为一些蜘蛛启用一些http代理,并为其他蜘蛛禁用它们.
我可以这样做吗?
# settings.py
proxy_spiders = ['a1' , b2']
if spider in proxy_spider: #how to get spider name ???
HTTP_PROXY = 'http://127.0.0.1:8123'
DOWNLOADER_MIDDLEWARES = {
'myproject.middlewares.RandomUserAgentMiddleware': 400,
'myproject.middlewares.ProxyMiddleware': 410,
'scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware': None
}
else:
DOWNLOADER_MIDDLEWARES = {
'myproject.middlewares.RandomUserAgentMiddleware': 400,
'scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware': None
}
Run Code Online (Sandbox Code Playgroud)
如果上面的代码不起作用,还有其他建议吗?
我正在使用Pjax和Gridview,我希望我的所有操作按钮都能执行ajax.默认情况下,他们不,所以我google搜索并找到删除data-pjax = 0的方法.但是,仍然没有ajax请求,所有这些都是常规请求.
很多人都遇到了这个问题,我也找不到解决方案.
我跟着:
我的代码:
<?php Pjax::begin(['id' => 'employee-timesheet-grid-id', 'timeout' => false, 'enablePushState' => false, 'clientOptions' => ['method' => 'POST']]) ?>
<?= GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
[
'label' => 'Employee',
'value' => function ($model) {
return $model->employeePayRate->employeeName;
},
],
[
'class' => 'yii\grid\ActionColumn',
'template' => '{view} {delete}',
'buttons' => [
'delete' => function ($url , $model) {
return Html::a('<span class="glyphicon glyphicon-trash"></span>', $url,
['data-confirm' => 'Are you sure you …Run Code Online (Sandbox Code Playgroud)