标签: beautifulsoup

Python 2.7:如何在Google App Engine中使用BeautifulSoup?

我想跟随:

from bs4 import BeautifulSoup
Run Code Online (Sandbox Code Playgroud)

并得到了错误

Traceback (most recent call last):
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/admin/__init__.py", line 355, in post
    exec(compiled_code, globals())
  File "<string>", line 1, in <module>
ImportError: No module named bs4
Run Code Online (Sandbox Code Playgroud)

我怎么用它Google App Engine runtime 2.7

更新
我的项目结构看起来像

flask-appengine-template/
                        docs/
                        licenses/
                        src/
                            application/
                                        static/
                                        templates/
                                        models.py
                                        settings.py
                                        urls.py
                                        views.py
                        libs/
                            bs4/
                         app.yaml
                         src.py
Run Code Online (Sandbox Code Playgroud)

我使用这个模板从这里 由于父母的app.yaml就是src,我加了一个文件src.py,并添加两行那里.

我仍然看到同样的错误

ImportError: No module named bs4
Run Code Online (Sandbox Code Playgroud)

但是,我的项目名称app.yamlflaskonappengine 请告诉我,我仍然在做错什么?

python google-app-engine beautifulsoup

15
推荐指数
1
解决办法
1万
查看次数

在Python 3.5中导入bs4

我已经安装了Python 3.5和Beautifulsoup4.当我尝试导入bs4时,我收到以下错误.那有什么问题吗?或者我应该只安装Python 3.4?请非常明确 - 我是编程新手.非常感谢!

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python 3.5\lib\sit-packages\bs4\__init__.py", line 30, in    <module>
   from .builder import builder_registry, ParserRejectionMarkup
  File "C:\Python 3.5\lib\sit-packages\bs4\__init__.py", line 308, in <module>
   from . import _htmlparser
  File "C:\Python 3.5\lib\sit-packages\bs4\_htmlparser.py", line 7, in <module>
   from html.parser import ( 
ImportError: cannot import name 'HTMLParseError'
Run Code Online (Sandbox Code Playgroud)

python beautifulsoup html-parsing python-3.x python-3.5

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

beautifulsoup和bs4有什么区别

我是python的新手,我试图解析一些XML文件,以便添加一些新的标签并存储新的XML文件.

python-beautifulsoup接缝是适合它的包装.在网上搜索教程,如何向BeautifulSoup解析的XML添加新标签,我发现,使用了包python-bs4.

查看包描述,两个包都具有相同的标题:

python-bs4 - error-tolerant HTML parser for Python
python-beautifulsoup - error-tolerant HTML parser for Python
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:有什么区别?

//更新:如果有人意味着对这个问题进行投票,那么留下原因作为评论是有帮助的.

python xml beautifulsoup python-3.x bs4

15
推荐指数
3
解决办法
8189
查看次数

使用BeautifulSoup从元标记中获取数据

我试图从元标记中读取描述,这就是我使用的

soup.findAll(name="description")
Run Code Online (Sandbox Code Playgroud)

但它不起作用,但是,下面的代码工作得很好

soup.findAll(align="center")
Run Code Online (Sandbox Code Playgroud)

如何从文档头部的元标记中读取描述?

python beautifulsoup

14
推荐指数
1
解决办法
9823
查看次数

从已解析的Beautiful Soup列表中删除<br>标签?

我正在进入一个包含我想要的所有行的for循环:

page = urllib2.urlopen(pageurl)
soup = BeautifulSoup(page)
tables = soup.find("td", "bodyTd")
for row in tables.findAll('tr'):
Run Code Online (Sandbox Code Playgroud)

在这一点上,我有我的信息,但是

<br />
Run Code Online (Sandbox Code Playgroud)

标签毁了我的输出.

删除这些最简洁的方法是什么?

python beautifulsoup html-parsing

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

BeautifulSoup:获取元素本身的标记名称,而不是其子元素

我有以下(简化)代码,它使用以下来源:

<html>
    <p>line 1</p>
    <div>
        <a>line 2</a>
    </div>
</html>

soup = BeautifulSoup('<html><p>line 1</p><div><a>line 2</a></div></html>')
ele = soup.find('p').nextSibling
somehow_print_tag_of_ele_here
Run Code Online (Sandbox Code Playgroud)

我想得到ele的标签,在这种情况下是"div".但是,我似乎只能得到它的孩子的标签.我错过了一些简单的事吗?我以为我可以做ele.tag.name,但这是一个例外,因为tag是None.

#Below correctly prints the div element "<div><a>line 2</a></div>"
print ele

#Below prints "None". Printing tag.name is an exception since tag is None
print ele.tag 

#Below prints "a", the child of ele
allTags = ele.findAll(True)
for e in allTags:
    print e.name
Run Code Online (Sandbox Code Playgroud)

在这一点上,我正在考虑做一些事情来获得ele的父母,然后得到父母的孩子的标签,并计算了多少上层兄弟姐妹,倒数到正确的子标签.这看起来很荒谬.

tags beautifulsoup

14
推荐指数
1
解决办法
3万
查看次数

Python beautifulsoup迭代在桌子上

我试图将表数据刮到CSV文件中.不幸的是,我遇到了一个障碍,下面的代码只是从第一个TR重复所有后续TR的TD.

import urllib.request
from bs4 import BeautifulSoup

f = open('out.txt','w')

url = "http://www.international.gc.ca/about-a_propos/atip-aiprp/reports-rapports/2012/02-atip_aiprp.aspx"
page = urllib.request.urlopen(url)

soup = BeautifulSoup(page)

soup.unicode

table1 = soup.find("table", border=1)
table2 = soup.find('tbody')
table3 = soup.find_all('tr')

for td in table3:
    rn = soup.find_all("td")[0].get_text()
    sr = soup.find_all("td")[1].get_text()
    d = soup.find_all("td")[2].get_text()
    n = soup.find_all("td")[3].get_text()

    print(rn + "," + sr + "," + d + ",", file=f)
Run Code Online (Sandbox Code Playgroud)

这是我的第一个Python脚本,所以任何帮助将不胜感激!我已经查看了其他问题的答案,但无法弄清楚我在这里做错了什么.

python beautifulsoup

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

使用Beautiful Soup按类名获取内容

使用Beautiful Soup模块,如何获取div类名为feeditemcontent cxfeeditemcontent?的标签的数据?是吗:

soup.class['feeditemcontent cxfeeditemcontent']
Run Code Online (Sandbox Code Playgroud)

要么:

soup.find_all('class')
Run Code Online (Sandbox Code Playgroud)

这是HTML源:

<div class="feeditemcontent cxfeeditemcontent">
    <div class="feeditembodyandfooter">
         <div class="feeditembody">
         <span>The actual data is some where here</span>
         </div>
     </div>
 </div> 
Run Code Online (Sandbox Code Playgroud)

这是Python代码:

 from BeautifulSoup import BeautifulSoup
 html_doc = open('home.jsp.html', 'r')

 soup = BeautifulSoup(html_doc)
 class="feeditemcontent cxfeeditemcontent"
Run Code Online (Sandbox Code Playgroud)

python beautifulsoup

14
推荐指数
4
解决办法
5万
查看次数

Ubuntu - 如何在Python 3.3而不是Python 2.7上安装Python模块(BeautifulSoup)?

我有这个代码(用BS4文档编写):

  from bs4 import BeautifulSoup
Run Code Online (Sandbox Code Playgroud)

当我运行脚本(使用python3)时,我收到错误:

  ImportError: No module named 'bs4'
Run Code Online (Sandbox Code Playgroud)

所以安装BeatifulSoup:

  sudo pip install BeatifulSoup4
Run Code Online (Sandbox Code Playgroud)

但是当我再次尝试运行脚本时,我得到了同样的错误.确实BS4安装在:

  BeautifulSoup4 in /usr/local/lib/python2.7/dist-packages
Run Code Online (Sandbox Code Playgroud)

但我想安装并使用它与python3.3(因为有其他模块不使用python2.7).

我尝试过:

  virtualenv --python=/usr/bin/python2.7 /usr/bin/python3.3
Run Code Online (Sandbox Code Playgroud)

然后再次安装BS4,但没有解决.

任何线索?提前致谢

python ubuntu beautifulsoup python-2.7 python-3.3

14
推荐指数
3
解决办法
6万
查看次数

无法为python 3.6安装BeautifulSoup

过去45分钟,我一直在试图跑步:

from bs4 import BeautifulSoup
Run Code Online (Sandbox Code Playgroud)

但无济于事.我试过这些命令:

python -m pip install beautifulsoup4
Run Code Online (Sandbox Code Playgroud)

在哪里说:

Requirement already satisfied: beautifulsoup4 in c:\python27\lib\site-packages
Run Code Online (Sandbox Code Playgroud)

我试过了:

pip3 install beautifulsoup4
Run Code Online (Sandbox Code Playgroud)

它说的一样.

我试过了:

pip install beautifulsoup4
Run Code Online (Sandbox Code Playgroud)

一样.

我已经遍布stackoverflow,youtube,我正在疯狂地试图解决这个问题.我不知道该怎么做,请帮帮我.

当我尝试使用以下代码运行我的程序main.py时:

from bs4 import BeautifulSoup
Run Code Online (Sandbox Code Playgroud)

使用py -3 main.py,我收到错误:

ModuleNotFoundError: No module named 'bs4'
Run Code Online (Sandbox Code Playgroud)

请帮助请帮助我.

我试过在BeautifulSoup4上提出的方法无法安装在Windows7上的python3.5中但无济于事.

python beautifulsoup

14
推荐指数
4
解决办法
3万
查看次数