问题描述
|
我已经使用easy_install安装了BeautifulSoup,并尝试运行以下脚本
from BeautifulSoup import BeautifulSoup
import re
doc = [\'<html><head><title>Page title</title></head>\',\'<body><p id=\"firstpara\" align=\"center\">This is paragraph <b>one</b>.\',\'<p id=\"secondpara\" align=\"blah\">This is paragraph <b>two</b>.\',\'</html>\']
soup = BeautifulSoup(\'\'.join(doc))
print soup.prettify()
但不确定为什么会这样
Traceback (most recent call last):
File \"C:\\Python27\\reading and writing xml file from web1.py\",line 49,in <module>
from BeautifulSoup import BeautifulSoup
ImportError: No module named BeautifulSoup
能否请你帮忙。
谢谢
解决方法
试试这个
from bs4 import BeautifulSoup
这可能与Beautiful Soup,版本4和Beta测试版有关。我只是从主页上读到的。
,在Ubuntu 14.04上,我从apt-get安装了它,并且工作正常:
sudo apt-get install python-beautifulsoup
然后做:
from BeautifulSoup import BeautifulSoup
,试试看,我的工作就是这样。要获取标签的任何数据,只需将\“ a \”替换为所需的标签即可。
from bs4 import BeautifulSoup as bs
import urllib
url=\"http://currentaffairs.gktoday.in/month/current-affairs-january-2015\"
soup = bs(urllib.urlopen(url))
for link in soup.findAll(\'a\'):
print link.string
,您可以导入bs4而不是BeautifulSoup。
由于bs4是内置模块,因此不需要其他安装。
from bs4 import BeautifulSoup
import re
doc = [\'<html><head><title>Page title</title></head>\',\'<body><p id=\"firstpara\" align=\"center\">This is paragraph <b>one</b>.\',\'<p id=\"secondpara\" align=\"blah\">This is paragraph <b>two</b>.\',\'</html>\']
soup = BeautifulSoup(\'\'.join(doc))
print soup.prettify()
如果要请求,请使用请求模块。
请求使用的是urllib
,requests
模块。
但我个人建议使用requests
模块而不是urllib
模块安装使用:
$ pip install requests
这是使用请求模块的方法:
import requests as rq
res = rq.get(\'http://www.example.com\')
print(res.content)
print(res.status_code)
,如果您有两个版本的python,也许我的情况可以为您提供帮助
这是我的情况
1-> Mac OSX
2->我有两个版本的python,(1)系统默认版本2.7(2)手动安装的版本3.6
3->我用sudo pip install beautifulsoup4
安装了beautifulsoup4
4->我用python3 /XXX/XX/XX.py
运行python文件
所以这种情况3和4是关键部分,我已经用\“ pip \”安装了beautifulsoup4,但是此模块是为python verison 2.7安装的,并且我使用\“ python3 \”运行了python文件。所以您应该为python 3.6安装beautifulsoup4;
使用sudo pip3 install beautifulsoup4
,您可以为python 3.6安装模块