当我尝试使用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) 是否可以保存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) 有一个大文件.此文件的每一行都是由人类输入的URL,因此可能会出现遗漏http丢失www等不同问题.
是否有可以修复这些网址的Python模块?我尝试过url_fix,werkzeug.urls但这并不是我正在寻找的东西.
www.example.com >> http://www.example.com/
Run Code Online (Sandbox Code Playgroud)
当然,没有办法可以修复每一个可能的错误,但我正在寻找修复最常见的错误.
你有什么建议吗?
编辑:根据彼得伍德的评论,让我们假设URL必须包含www.就我而言,这些是eshop网址.
是否可以检测到 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。
我有两个想法:
MoneyField当字段更改时,以某种方式覆盖并发送信号。覆盖 save 方法并创建一个
__my_current_price像这里这样的新属性- 这有效,但它使代码对我来说非常不清楚。
编辑: 由于更快的数据库查找,我以不同的货币存储价格。
我喜欢这个选项
<v-card :loading="loading">...
Run Code Online (Sandbox Code Playgroud)
但我想将样式从线性进度条更改为(例如)叠加。我知道我可以通过绑定颜色而不是布尔值(true)来改变颜色。
<v-card :loading="'red'">...
Run Code Online (Sandbox Code Playgroud)
但我可以通过这种方式改变行为吗?要么使条形更粗,要么更好,以在何时显示叠加loading=true?
是否可以通过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)
根本不起作用.
我正在尝试使用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)
有人可以给我一个暗示吗?
是否可以获取某个类或对象的所有属性?我有一个具有许多属性的类,我想创建一个函数/方法,它返回对象的所有属性等于 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)
是否可以使用内置函数来完成?
我exe用py2exe模块创建了一个文件.奇怪的是,当我运行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) 我正在尝试从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 ×9
python-2.7 ×2
selenium ×2
text ×2
attributes ×1
class ×1
cmd ×1
django ×1
exe ×1
html ×1
javascript ×1
newline ×1
object ×1
parsing ×1
pip ×1
py2exe ×1
pyinstaller ×1
tags ×1
url ×1
urlparse ×1
vue.js ×1
vuetify.js ×1
windows ×1