我正在尝试使用BeautifulSoup从网页获取文本.
下面是我写的脚本.它需要两个参数,第一个是输入HTML或XML文件,第二个是输出文件.
import sys
from bs4 import BeautifulSoup
def stripTags(s): return BeautifulSoup(s).get_text()
def stripTagsFromFile(inFile, outFile):
open(outFile, 'w').write(stripTags(open(inFile).read()).encode("utf-8"))
def main(argv):
if len(sys.argv) <> 3:
print 'Usage:\t\t', sys.argv[0], 'input.html output.txt'
return 1
stripTagsFromFile(sys.argv[1], sys.argv[2])
return 0
if __name__ == "__main__":
sys.exit(main(sys.argv))
Run Code Online (Sandbox Code Playgroud)
不幸的是,对于许多网页,例如:http://www.greatjobsinteaching.co.uk/career/134112/Education-Manager-Location 我得到这样的东西(我只展示了几个第一行):
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
Education Manager Job In London With Caleeda | Great Jobs In Teaching
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-15255540-21']);
_gaq.push(['_trackPageview']);
_gaq.push(['_trackPageLoadTime']);
Run Code Online (Sandbox Code Playgroud)
我的剧本有什么问题吗?我试图将'xml'作为第二个参数传递给BeautifulSoup的构造函数,以及'html5lib'和'lxml',但它没有帮助.是否有一个替代BeautifulSoup可以更好地完成这项任务?我想要的只是提取将在此网页的浏览器中呈现的文本.
任何帮助都感激不尽.
我错误地删除了我的Django项目使用的MySQL数据库.幸运的是,这只是我的开发环境.如何重新创建数据库和所有表?
当我这样做python manage.py syncdb失败了
_mysql_exceptions.OperationalError: (1049, "Unknown database 'myproject'")
Run Code Online (Sandbox Code Playgroud)
任何帮助都感激不尽.
许多LISP有FEXPR,但它们不包括在CL中.
我读到这是因为FEXRP与静态分析不兼容.
有人可以解释一下吗?
我们已经使用pg_dump转储了使用postgis扩展名的数据库。在另一台计算机上手动创建数据库后,尝试使用psql将转储加载到数据库中失败。原来转储中没有包含必要的声明
CREATE EXTENSION postgis;
Run Code Online (Sandbox Code Playgroud)
postgis扩展名已安装在Postgres的目标实例中,但仅在成功手动执行CREATE EXTENSION转储加载后才安装。这似乎没什么大不了,但问题是:是否可以强制pg_dump将所有必需的CREATE EXTENSION foo;语句写入转储,这样我就不必手动执行此操作?我在pg_dump在线文档中看不到任何选择。
我正在尝试使用 dask 进行一些令人尴尬的并行处理。出于某种原因,我必须使用 dask,但使用multiprocessing.Pool(5).map.
例如:
import dask
from dask import compute, delayed
def do_something(x): return x * x
data = range(10)
delayed_values = [delayed(do_something)(x) for x in data]
results = compute(*delayed_values, scheduler='processes')
Run Code Online (Sandbox Code Playgroud)
它有效,但显然它只使用一个过程。
如何配置 dask 以便它使用 5 个进程池进行此计算?
我正在使用Django 1.4开发一个网站,我使用django-registration进行注册过程.事实证明,不允许Unicode字符作为用户名,只要用户输入例如中文字符作为用户名的一部分,注册就会失败:
该值可能只包含字母,数字和@/./ +/ - /_字符.
是否可以更改它,以便在用户名中允许使用Unicode字符?如果是,我该怎么办?此外,它可以导致任何问题吗?
python django unicode internationalization django-registration
我有这个代码:
translateRight("iv1"); //iv1 is an id of an imageView
private void translateRight(String st){
ImageView img = (ImageView)findViewById(R.id.st);
Animation a = AnimationUtils.loadAnimation(this, R.anim.translate_right);
img.startAnimation(a);
}
Run Code Online (Sandbox Code Playgroud)
我有"translateRight"这是一个显示动画的方法,但在这种方法中我应该传递一个资源ID; 我尝试了一个字符串,但它不起作用,我该怎么办?
使用JPA,我希望能够将BitSet保存到数据库并将其拉回到程序中.
假设我有:
@Entity
@Table(name = "myTable")
public class MyClass {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "Object_Id")
protected long id;
@Column(name = "Tags")
protected BitSet tags;
... getters & setters etc...
}
Run Code Online (Sandbox Code Playgroud)
还应该定义"columnDefinition"吗?我真的不明白它是如何持久的(使用toString()?)而且它是如何从数据库中加载回来的.
你能帮帮我一下吗?
谢谢!
我有一个数字列表,我把它放入一个numpy数组:
>>> import numpy as np
>>> v=np.array([10.0, 11.0])
Run Code Online (Sandbox Code Playgroud)
然后我想从数组中的每个值中减去一个数字.它可以像numpy数组一样完成:
>>> print v - 1.0
[ 9. 10.]
Run Code Online (Sandbox Code Playgroud)
不幸的是,我的数据通常包含缺失值,表示为None.对于这种数据,我收到此错误:
>>> v=np.array([10.0, 11.0, None])
>>> print v - 1.0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for -: 'NoneType' and 'float'
Run Code Online (Sandbox Code Playgroud)
我想为上面的例子得到的是:
[ 9. 10. None]
Run Code Online (Sandbox Code Playgroud)
我怎样才能以简单有效的方式实现它?
假设我有多个随机.txt文件,并且在同一个目录中我有几乎同名的文件,比如filename.sql和filename.txt.如何在不选择任何其他文件的情况下找到这些.sql及其对应的文件?(这里的目的是将它们移动到一个单独的文件夹.相关文件和文件之间保证1:1的关系,这意味着我不担心移动最初提到的随机文件之一.).txt.txt.sql.txt.txt