我是 PHP 开发新手,但有开发 Python Web 应用程序的经验。在 Python 中,有一个名为Coverage的包,用于分析代码并识别缺少单元测试的功能。
PHP 世界中是否存在这样的包?我已经搜索了谷歌和 SO 并得出了简短的结论。感谢您的帮助!
编辑2:解决了!请参阅以下有关正确导入的答案 from lib.bs4 import BeautifulSoup而不仅仅是from bs4 import BeautifulSoup
编辑:将bs4放在项目的根目录似乎解决了这个问题; 但是,它不是一个理想的结构.因此,我将这个问题保持活跃,以尝试获得更强大的解决方案.
过去已经问过这个问题的变体,但那里的解决方案似乎没有用.我不确定这是因为BeautifulSoup或Appengine的变化,说实话.
请参阅:Python 2.7:如何在Google App Engine中使用BeautifulSoup?,如何在Google App Engine中包含第三方Python库?,哪个版本的BeautifulSoup适用于GAE(python 2.5)?
Lipis提出的解决方案似乎是将第三方库添加到项目根目录中的libs文件夹,然后将以下内容添加到主应用程序中:
import sys
sys.path.insert(0, 'libs')
Run Code Online (Sandbox Code Playgroud)
目前,我的结构是这样的:
ntj-test
??? lib
? ??? bs4
??? templates
??? main.py
??? get_data.py
??? app.yaml
Run Code Online (Sandbox Code Playgroud)
这是我的app.yaml:
application: ntj-test
version: 1
runtime: python27
api_version: 1
threadsafe: yes
handlers:
- url: /favicon\.ico
static_files: favicon.ico
upload: favicon\.ico
- url: .*
script: main.app
libraries:
- name: webapp2
version: latest
- name: jinja2
version: …Run Code Online (Sandbox Code Playgroud) 我试图使用BeautifulSoup4和Python从网站上刮取表格数据,然后用结果创建一个Excel文档.到目前为止,我有这个:
import urllib2
from bs4 import BeautifulSoup
soup = BeautifulSoup(urllib2.urlopen('http://opl.tmhp.com/ProviderManager/SearchResults.aspx?TPI=&OfficeHrs=4&ProgType=STAR&UCCIndicator=No+Preference&Cnty=&NPI=&Srvs=6&Age=All&Gndr=B&SortBy=Distance&ZipCd=78552&SrvsOfrd=0&SpecCd=0&Name=&CntySrvd=0&Plan=H3&WvrProg=0&SubSpecCd=0&AcptPnt=Y&Rad=200&LangCd=99').read())
for row in soup('table', {'class' : 'spad'})[0].tbody('tr'):
tds = row('td')
print tds[0].string, tds[1].string
Run Code Online (Sandbox Code Playgroud)
但它无法显示数据.
有任何想法吗?