def crawl(url):
html = getHTML(url) # getHTML() retruns HTTPResponse
print(html.read()) # PRINT STATMENT 1
if (html == None):
print("Error getting HTML")
else:
# parse html
bsObj = BeautifulSoup(html, "lxml")
# print data
try:
print(bsObj.h1.get_text())
except AttributeError as e:
print(e)
print(html.read()) # PRINT STAETMENT 2
我不明白的是。。你知道吗
打印语句1打印整个html,而打印语句2只打印b''
这里发生了什么事。。我对Python很陌生。你知道吗
html
是一个HTTPResponse对象。HTTPResponse支持类似文件的操作,例如read()
。你知道吗就像读取文件时一样,
read()
消耗可用数据并将文件指针移动到文件/数据的端。随后的read()
没有返回任何内容。你知道吗您有两种选择:
使用
seek()
方法读取后将文件指针重置为开头:改为保存结果:
通常,您会使用第二个选项,因为它更容易重用
html_body
相关问题 更多 >
编程相关推荐