由于某些原因,我似乎找不到为什么这段代码打印"None“。我直接从HTML复制/粘贴了id ...提前感谢
import bs4
import json
import requests
URL = 'http://hypem.com/popular'
html = requests.get(URL).text
soup = bs4.BeautifulSoup(html)
print soup.find(id="displayList-data")由于某些原因,当我将"requests“更改为"urllib2”时,它仍然起作用。
import bs4
import json
import urllib2
URL = 'http://hypem.com/popular/'
html = urllib2.urlopen(URL)
soup = bs4.BeautifulSoup(html)
data = soup.find(id="displayList-data")
print data发布于 2014-07-14 05:36:23
您粘贴的代码可以正常工作。但是,我确实怀疑您修改了粘贴的代码,而不是本地测试的代码,因为当您将打印输出的数据直接馈送到json.loads中时,None听起来就像是返回的数据。由于find(id="...")的文本表示形式包含<script>标记,因此应提取标记的内容。
>>> json.loads(soup.find(id='displayList-data').text)
{u'page_cur': u'/popular', u'title': u'Popular MP3 & Mus ....https://stackoverflow.com/questions/24727132
复制相似问题