小编Mil*_*ano的帖子

pip安装UnicodeDecodeError

当我尝试使用pip在我的新笔记本(Win 7 64)上安装beautifulsoup4时,我收到此错误:

Cleaning up...
Exception:
Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\pip\basecommand.py", line 122, in main
    status = self.run(options, args)
  File "C:\Python27\lib\site-packages\pip\commands\install.py", line 278, in run

    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundl
e=self.bundle)
  File "C:\Python27\lib\site-packages\pip\req.py", line 1234, in prepare_files
    req_to_install.assert_source_matches_version()
  File "C:\Python27\lib\site-packages\pip\req.py", line 464, in assert_source_ma
tches_version
    % (display_path(self.source_dir), version, self))
UnicodeDecodeError: 'ascii' codec can't decode byte 0x9e in position 58: ordinal
 not in range(128)

Traceback (most recent call last):
  File "C:\Python27\lib\runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "C:\Python27\lib\runpy.py", …
Run Code Online (Sandbox Code Playgroud)

python windows pip

8
推荐指数
3
解决办法
2万
查看次数

保存Selenium的当前状态

是否可以保存Selenium浏览器的当前状态?

要理解我会提供一个例子:

假设有一个网页.我点击了按钮,在那里我找到了许多其他按钮.我想按顺序检查每个按钮.问题是每个按钮都需要获取浏览器信息,如referrer,这应该是第一次点击后的第一页等.

在这种情况下,我需要将这些信息保存在浏览器中,因为如果我点击第二个按钮,引用者将是最近打开的页面.之后我无法点击第三个权利.我不得不回去,但有些网页不允许浏览器" 返回 ".另一个优点是我不必向服务器发送新请求.

像这样的东西:

for but in driver.find_elements_by_class_name('button'):
    state = driver.save_state()
    but.click()
    # do stuff
    driver.load_state()
Run Code Online (Sandbox Code Playgroud)

python selenium selenium-webdriver

7
推荐指数
1
解决办法
679
查看次数

使用Python修复URL

有一个大文件.此文件的每一行都是由人类输入的URL,因此可能会出现遗漏http丢失www等不同问题.

是否有可以修复这些网址的Python模块?我尝试过url_fix,werkzeug.urls但这并不是我正在寻找的东西.

www.example.com >> http://www.example.com/
Run Code Online (Sandbox Code Playgroud)

当然,没有办法可以修复每一个可能的错误,但我正在寻找修复最常见的错误.

你有什么建议吗?

编辑:根据彼得伍德的评论,让我们假设URL必须包含www.就我而言,这些是eshop网址.

python url urlparse python-2.7

7
推荐指数
0
解决办法
384
查看次数

检测 Django 模型中的字段变化

是否可以检测到 Django 模型中的该字段已更改?

class Product(models.Model):
    my_current_price = MoneyField(max_digits=20, decimal_places=2, null=True, blank=True,
                                  verbose_name=_('My original price'))
    my_eur_price = MoneyField(max_digits=20, decimal_places=2, null=True, blank=True, verbose_name=_('My price in EUR'))
    my_usd_price = MoneyField(max_digits=20, decimal_places=2, null=True, blank=True, verbose_name=_('My price in USD'))
Run Code Online (Sandbox Code Playgroud)

问题是我需要随时重新计算欧元和美元的价格my_current_price

我有两个想法:

  1. MoneyField当字段更改时,以某种方式覆盖并发送信号。

  2. 覆盖 save 方法并创建一个__my_current_price这里这样的新属性- 这有效,但它使代码对我来说非常不清楚。

编辑: 由于更快的数据库查找,我以不同的货币存储价格。

python django django-models

7
推荐指数
1
解决办法
7398
查看次数

Vuetify - 更改卡片加载样式?

我喜欢这个选项

<v-card :loading="loading">...
Run Code Online (Sandbox Code Playgroud)

但我想将样式从线性进度条更改为(例如)叠加。我知道我可以通过绑定颜色而不是布尔值(true)来改变颜色。

<v-card :loading="'red'">...
Run Code Online (Sandbox Code Playgroud)

但我可以通过这种方式改变行为吗?要么使条形更粗,要么更好,以在何时显示叠加loading=true

javascript vue.js vuetify.js

7
推荐指数
2
解决办法
6483
查看次数

Beautifulsoup在标签中分割文字

是否可以通过br标签分割标签中的文本?

我有这个标签内容: [u'+420 777 593 531', <br/>, u'+420 776 593 531', <br/>, u'+420 775 593 531']

我想只得到数字.有什么建议吗?

编辑:

[x for x in dt.find_next_sibling('dd').contents if x!=' <br/>']
Run Code Online (Sandbox Code Playgroud)

根本不起作用.

python tags text newline beautifulsoup

6
推荐指数
2
解决办法
5458
查看次数

使用Selenium解析html - 类名称包含空格

我正在尝试使用Selenium解析一些html.问题是,如果类名包含空格,则会引发错误.

这是我要搜索的标签: <p class="p0 ng-binding">text</p>

我试过这两个选项:

result.find_element_by_class_name('departure').find_element_by_css_selector('p.p0 ng-binding').text 

result.find_element_by_class_name('departure').find_element_by_class_name('p0 ng-binding').text 

>>> selenium.common.exceptions.InvalidSelectorException: Message: The given selector p0 ng-binding is either invalid or does not result in a WebElement. The following error occurred:
InvalidSelectorError: Compound class names not permitted
Run Code Online (Sandbox Code Playgroud)

有人可以给我一个暗示吗?

html python selenium parsing text

6
推荐指数
1
解决办法
6605
查看次数

Python中获取类的所有属性

是否可以获取某个类或对象的所有属性?我有一个具有许多属性的类,我想创建一个函数/方法,它返回对象的所有属性等于 None 。

由于这些属性有很多,我必须避免将它们全部写入函数中。

像这样的东西:

def get_all_empty_attributes(self):
    for attr  in self.attributes.names:
        if self.attr==None:
            yield attr
Run Code Online (Sandbox Code Playgroud)

是否可以使用内置函数来完成?

python attributes class object

6
推荐指数
1
解决办法
4326
查看次数

双击后,.exe在启动后立即关闭

exepy2exe模块创建了一个文件.奇怪的是,当我运行exe命令行时它必须工作,但是当我双击exe它时,它会打开一个控制台(就像它必须这样做)并且控制台立即关闭.

我写了一个logging方法来找出问题所在try-except,并且包含了不捕获任何异常的方法.

这是我的一段代码:

if __name__ == '__main__':
    try:
        mh = moto()
        db = database() # you can find __init__ of database() below
        log('ok') # I CAN'T FIND THIS LINE IN THE LOG FILE SO THE PROBLEM IS PROBABLY INSIDE __INIT__ OD database()
    except Exception as e: 
        log(str(e))
        log(str(traceback.format_exc))

    for url in [__CATs__,__hyphens__]:
        log(' for url')
Run Code Online (Sandbox Code Playgroud)

init database():

class database():

    def __init__(self):
            self.conn = sqlite3.connect('db.db') # Database is created …
Run Code Online (Sandbox Code Playgroud)

python cmd exe py2exe

6
推荐指数
1
解决办法
1813
查看次数

PyInstaller --hidden-import 通配符?

我正在尝试从Scrapy项目中生成可执行文件。我注意到我必须说明PyInstaller它必须加载哪些scrapy 模块。问题是有很多这样的模块。

pyinstaller --onefile main.py --hidden-import scrapy.spiderloader --hidden-import scrapy.statscollectors --hidden-import scrapy.....
Run Code Online (Sandbox Code Playgroud)

是否可以设置PyInstaller预导入所有模块?类似的东西--hidden-import scrapy.*不起作用。

python pyinstaller python-import python-2.7

6
推荐指数
1
解决办法
2860
查看次数