python爬虫BeautifulSoup问题

代码:

from bs4 import BeautifulSoup
import requests
import json
import sys
import re
reload(sys)
import urllib2
sys.setdefaultencoding('utf8')


downUrl = r'https://www.youtube.com/playlist?list=PLQqbdnAgoRmag4RdUZAKl8Vz0H70T0wDA'
youtubeUrl = r'https://www.youtube.com'

myText = requests.get(downUrl,verify=False).text
print myText

print "======================="

mySoup = BeautifulSoup(myText,'lxml')
print mySoup

为何myText和mySoup打印出来的内容是不同的,相对于myText,mySoup少了好多的。
myText得到

clipboard.png

mySoup得到

clipboard.png

阅读 3.5k
3 个回答

没有少很多吧, 你输出一下,差不多

print len(myText)
print len(str(mySoup))

BeautifulSoup解析后输出的文本是会对原文进行一定的重新排列的。 比如添加或删除一些空白类符号,属性的位置重排,等等。比如你看到行数的差别,是换行被BeautifulSoup解析后优化掉了。 你可以认真对比一下两个的具体内容,应该是是没有差别的。

因为mySoup是经过了解析的,不能简单的和原始数据进行这么简单粗暴的比较~

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题