我试图运行以下代码,但注意到bsObj1
的文本在我通过read()
提取其内容后被修改为空白文本bsObj3
也被修改为空白文本,而我什么也没做
为什么bsObj1
和bsObj3
会变成空白?如何防止bsObj1
自动更改
from urllib.request import urlopen
from bs4 import BeautifulSoup
def getLinks(pageUrl):
html1 = urlopen(pageUrl)
html2 = urlopen(pageUrl)
html3 = html1
body1 = html1.read()
bsObj1 = BeautifulSoup(html1)
bsObj2 = BeautifulSoup(html2)
bsObj3 = BeautifulSoup(html3)
print("bsObj1's length is "+str(len(bsObj1.text)))
print("bsObj2's length is "+str(len(bsObj2.text)))
print("bsObj3's length is "+str(len(bsObj3.text)))
if __name__ == '__main__':
getLinks("https://en.wikipedia.org/wiki/Main_Page")
Output:- 你知道吗
bsObj1's length is 0
bsObj2's length is 16000
bsObj3's length is 0
非常感谢
我相信你的密码有误。你已经读过html1了,所以当你把它解析成BeautifulSoup时,它什么也不读,因为
body1 = html1.read()
。已经读过html1了吗?html3
和html1
所以下面的代码可以正常工作
样本输出
bsObj1的长度是16028 bsObj2的长度是16028 bsObj3的长度是16028
希望这有帮助
相关问题 更多 >
编程相关推荐