小编ale*_*cxe的帖子

如何关闭mongodb python连接?

我正在做一个将一些数据写入mongodb的python脚本.完成后,我需要关闭连接并释放一些资源.

如何在Python中完成?

python connection mongodb pymongo

44
推荐指数
2
解决办法
4万
查看次数

django:从视图返回字符串

我知道这是一个简单的问题,抱歉.我只想返回一个简单的字符串,没有模板.

我有我的看法:

def myview(request):
    return "return this string"
Run Code Online (Sandbox Code Playgroud)

我不记得这个命令.谢谢

python django django-views

44
推荐指数
3
解决办法
4万
查看次数

嵌套的f字符串

感谢David Beazley的推文,我最近发现新的Python 3.6 f字符串也可以嵌套:

>>> price = 478.23
>>> f"{f'${price:0.2f}':*>20s}"
'*************$478.23'
Run Code Online (Sandbox Code Playgroud)

要么:

>>> x = 42
>>> f'''-{f"""*{f"+{f'.{x}.'}+"}*"""}-'''
'-*+.42.+*-'
Run Code Online (Sandbox Code Playgroud)

虽然我很惊讶这是可能的,但我很遗憾这是多么实际,何时嵌套f字符串是有用的?这可以涵盖哪些用例?

注意:PEP本身没有提到嵌套f字符串,但是有一个特定的测试用例.

python string-formatting python-3.x python-3.6 f-string

44
推荐指数
6
解决办法
8765
查看次数

将函数应用于列表的每个元素

如何将函数应用于变量输入列表?例如,filter函数返回true值,但不返回函数的实际输出.

from string import upper
mylis=['this is test', 'another test']

filter(upper, mylis)
['this is test', 'another test']
Run Code Online (Sandbox Code Playgroud)

预期的产出是:

['THIS IS TEST', 'ANOTHER TEST']
Run Code Online (Sandbox Code Playgroud)

我知道upper是内置的.这只是一个例子.

python function list

43
推荐指数
3
解决办法
10万
查看次数

BeautifulSoup findAll()给出了多个类?

我想从网站上删除一个项目列表,并保留它们的显示顺序.这些项目按表格组织,但它们可以是两个不同类别之一(按随机顺序).

有没有办法提供多个类,并让BeautifulSoup4找到任何给定类中的所有项目?

我需要实现此代码的功能,除了保留源代码中的项目顺序:

items = soup.findAll(True,{'class':'class1'})
items += soup.findAll(True,{'class':'class2'})
Run Code Online (Sandbox Code Playgroud)

html python beautifulsoup html-parsing

40
推荐指数
5
解决办法
5万
查看次数

用铬和硒进行网络节流

谷歌Chrome 38 在devtools中引入了新的"设备模式和移动仿真"功能.除了选择用于仿真的设备之外,还可以模拟不同的网络条件:

在不同的网络条件下优化网站的性能是开发移动受众的关键方面.

设备模式的网络调节允许您在各种网络连接上测试您的站点,包括Edge,3G甚至离线.从预设下拉列表中选择一个连接以应用网络限制和延迟操作.

例如,我们可以将它设置为好日子 - GPRS 50 Kbps:

在此输入图像描述

现在我们有一个很好的用例 - 我们有一个用于网络速度测试的内部应用程序.这种新的仿真功能对手动测试非常有用.但是,我们希望自动化它.

问题是:

是否可以通过指定网络条件下的硒开始镀铬?它可以通过chrome首选项或命令行参数来控制吗?


当然有多种选择来模拟慢速互联网连接,但问题是关于chrome + selenium.

performance selenium google-chrome bandwidth-throttling selenium-webdriver

40
推荐指数
5
解决办法
2万
查看次数

如何获取scrapy失败的URL?

我是scrapy的新手,它是我知道的惊人的爬虫框架!

在我的项目中,我发送了超过90,000个请求,但其中一些请求失败了.我将日志级别设置为INFO,我只能看到一些统计信息,但没有详细信息.

2012-12-05 21:03:04+0800 [pd_spider] INFO: Dumping spider stats:
{'downloader/exception_count': 1,
 'downloader/exception_type_count/twisted.internet.error.ConnectionDone': 1,
 'downloader/request_bytes': 46282582,
 'downloader/request_count': 92383,
 'downloader/request_method_count/GET': 92383,
 'downloader/response_bytes': 123766459,
 'downloader/response_count': 92382,
 'downloader/response_status_count/200': 92382,
 'finish_reason': 'finished',
 'finish_time': datetime.datetime(2012, 12, 5, 13, 3, 4, 836000),
 'item_scraped_count': 46191,
 'request_depth_max': 1,
 'scheduler/memory_enqueued': 92383,
 'start_time': datetime.datetime(2012, 12, 5, 12, 23, 25, 427000)}
Run Code Online (Sandbox Code Playgroud)

有没有办法获得更多细节报告?例如,显示那些失败的URL.谢谢!

python report scrapy web-scraping

39
推荐指数
6
解决办法
3万
查看次数

python mpl_toolkits安装问题

命令后pip install mpl_toolkits我收到下一个错误:

找不到满足要求mpl_toolkits的版本(来自版本:)

找不到mpl_toolkits的匹配分布

我试图谷歌,但没有任何帮助.我怎么解决这个问题?

python pip python-3.x

39
推荐指数
3
解决办法
7万
查看次数

通过Selenium进行类似人类的鼠标移动

故事:

解决验证码的方法之一,如谷歌ReCaptcha,是试图模仿人类鼠标动作:动作,悬停和点击.

一些用户报告说,将鼠标移动作为B样条曲线可以为它们工作.

问题:

如何通过Selenium将鼠标移动到B样条轨迹之后的特定元素?


请注意,常规browser.actions().mouseMove(elm).perform();会直接"跳"到元素并且太快.我的理解是,这是一个减慢运动速度的问题,在B样条轨迹的数学模型之后,从一点到另一点平滑地"跳跃".

我们使用的是Protractor/JavaScript,但问题实际上与语言无关. 请注意,我并不是要尝试解决验证码,也不是为了"使用验证码解决新恶意机器人在这里和那里违反使用条款"的空间.我只是好奇并渴望在测试自动化领域获得更多技能.

selenium automation bots selenium-webdriver protractor

39
推荐指数
1
解决办法
8719
查看次数

元素不可见错误(无法单击元素)

我想点击一个单选按钮,出现在网页上.代码如下:

HTML代码:

<div class="small-checkbox red-theme raleway-regular text-muted2 position-relative">

        <div class="city-checkbox inline-block position-relative" ng-class="{'rounded-checkbox': main.current_city_id == 1, 'mb-20': main.ifDeviceIsPhone}">
            <label class="mdl-radio mdl-js-radio mdl-js-ripple-effect mh-20" for="mumbaiCity" ng-class="{'is-checked' : main.current_city_id == 1}">
                <input type="radio" id="mumbaiCity" class="mdl-radio__button position-relative vertical-middle" name="city" value="1" ng-click="main.setCity('Mumbai', 1)">
                <span class="mdl-radio__label position-relative font15"><img class="city-icon" src="../../../assets/img/cities/mumbai-icon.png">Mumbai</span>
            </label>
        </div>
</div>
Run Code Online (Sandbox Code Playgroud)

Tesstcase:

// demo-test.js
describe('Protractor Demo App', function() {
    jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000000;

    it('check item count', function() {
        browser.get('<link>');
        element(by.id('mumbaiCity')).click();
    });

});
Run Code Online (Sandbox Code Playgroud)

此测试通过错误:

1)量角器演示App检查项目计数

信息:

失败:元素不可见

我也尝试过:

element(by.css('[ng-click="main.setCity('Mumbai', 1)"]')).click();
Run Code Online (Sandbox Code Playgroud)

它给出了错误:

[16:16:26] E/launcher - 错误:SyntaxError:missing)参数列表后面 …

javascript selenium angularjs selenium-webdriver protractor

38
推荐指数
1
解决办法
4万
查看次数