我有点像编码新手,我一直试图通过使用Beautiful Soup(用于从HTML中提取数据的Python库)从Rap天才http://genius.com/artists/Andre-3000中删除Andre 3000的歌词.和XML文件).我的最终目标是以字符串格式提供数据.这是我到目前为止:
from bs4 import BeautifulSoup
from urllib2 import urlopen
artist_url = "http://rapgenius.com/artists/Andre-3000"
def get_song_links(url):
html = urlopen(url).read()
# print html
soup = BeautifulSoup(html, "lxml")
container = soup.find("div", "container")
song_links = [BASE_URL + dd.a["href"] for dd in container.findAll("dd")]
print song_links
get_song_links(artist_url)
for link in soup.find_all('a'):
print(link.get('href'))
Run Code Online (Sandbox Code Playgroud)
所以我需要其他代码的帮助.如何将他的歌词变成字符串格式?然后我如何使用自然语言工具包(NLTK)来标记句子和单词.
我将远程(ubuntu 16.04)驱动器安装在本地系统(ubuntu 16.04)上,以便我可以通过在 vscode 中打开源文件来编辑源文件。
另外,在集成终端中,我可以 ssh 到远程系统并使用安装在虚拟环境中的远程 python 解释器运行程序,例如:
$ssh username@remoteip
$workon remotevirtualenv
(remotevirtualenv)$python source.py
Run Code Online (Sandbox Code Playgroud)
我想启用远程调试,这样如果我运行调试/运行远程文件,安装在本地系统上的 vscode 将使用我的远程 python 解释器。
我浏览了建议使用 ptvsd 扩展的文档(它要求有 2 个源文件副本,一个在本地,另一个在服务器上),但我不确定在这种情况下如何配置它。感谢您的帮助。谢谢。
编辑1: 正如我所说,我已经阅读了文档,但我不清楚如何在这种情况下进行配置。例如文档说
- 在两台计算机上的源代码中,添加以下行,将 my_secret 替换为适当的密码以验证远程调试,并将 address 替换为适当的 IP 地址(或本地主机)和端口号:
ptvsd.enable_attach("my_secret", address = ('0.0.0.0', 3000))
Run Code Online (Sandbox Code Playgroud)
但我在远程系统上只有一份源文件副本。我刚刚将其安装在本地文件系统上。那么,我应该提供我的本地 IP 地址还是应该是远程系统 IP,以及我应该使用哪个端口号,因为我只有一份源代码副本,因此 ptvsd,它将如何通信。另外,在配置中,我应该使用什么localRoot位置和remoteRoot位置。
3. {
"name": "Attach (Remote Debug)",
"type": "python",
"request": "attach",
"localRoot": "${workspaceFolder}",
"remoteRoot": "${workspaceFolder}",
"port": 3000,
"secret": "my_secret",
"host": "localhost"
}
Run Code Online (Sandbox Code Playgroud)
编辑:由于 VSCode 中的远程开发扩展,远程调试现在变得非常容易。