[英]BeautifulSoup can't find tags
我试图从网站上抓取数据,但是find()方法找不到标签。以下是我的代码:
import urllib2
from bs4 import BeautifulSoup
url='http://www.jbhifi.com.au/computers/laptop-notebook/'
req=urllib2.Request(url,headers={'User-Agent':'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.76 Safari/537.36'})
webpage=urllib2.urlopen(req)
content=webpage.read()
soup=BeautifulSoup(content)
x=soup.find("div",attrs={'id':'content-two'})
print x #return None
然后,我发现只有HTML的漂亮解析器头
head=soup.find('head')
print head # print out content within <head>tag
body=soup.find('body')
print body # Print None
我真的很困惑。 我之前几次使用beautifulsoup。这是我第一次遇到这个问题。 有人知道如何解决此问题吗? 谢谢。
问题已经解决。 我卸载了beautifulsoup 4.2,然后安装了beautifulsoup 4.3。 该代码现在可以使用。
该代码运行良好。 您对“ x”将返回None的假设是错误的。
(Pdb) print x is None
False
(Pdb) print str(x)[:100]
<div id="content-two" style="float:right;width:828px;">
<div style="padding-bottom:7px;"><a href="ht
您可以检查。
确保要解析的代码在页面上
view-source:chrome-extension://http://www.jbhifi.com.au/computers/laptop-notebook/
如果不存在,则用javascript创建html代码。
这个案例。 使用硒或查找使用javascript生成html代码的部分。
有两种方法可以在JavaScript中生成HTML代码。
最前一页的方式,生成HTML代码的JavaScript =>推荐硒 + BS4 + 请求
第二种方法,在服务器上接收数据后,用javascript生成html代码=>推荐bs4 + 请求
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.