我使用以下代码,尝试在html文本打印后出现的每个逗号之后插入一个新行,以分隔我试图使用beautifulSoup找到的链接(因为它们显示为带有逗号的文本,表示不同的链接,我想将它们分开)。我试过这个,它似乎没有做任何事情……我不知道为什么
file = requests.get(url)
UsualError = file.text
Extractor = BeautifulSoup(UsualError)
run = print(Extractor.find_all('link'))
for text in run:
if ',':
+"/n";
print(run)
我也试过其他方法,但我不认为他们完全正确....我不太确定该怎么做,所以如果有人能指出,我想的是非常明显的,你将帮助别人掌握一些东西:)
链接中可能没有逗号。所有链接都存储在python列表中,其中python列表中的所有条目都用逗号分隔。所以你不能用任何东西替换这些逗号。
你的代码的主要问题是run = print(Extractor.find_all('link'))
;你正在给run
分配一个print语句。
如果你想看到所有的内容:
file = requests.get(url)
UsualError = file.text
Extractor = BeautifulSoup(UsualError)
run = Extractor.find_all('link')
for text in run:
print(text)
如果您只想看到超链接:
file = requests.get(url)
UsualError = file.text
Extractor = BeautifulSoup(UsualError)
run = Extractor.find_all('link')
for text in run:
print(text.get('href')
如果你想在列表中只存储href链接run
:
file = requests.get(url)
UsualError = file.text
Extractor = BeautifulSoup(UsualError)
run = Extractor.find_all('link')
run = [text.get('href') for text in run]
# now run contains only href links
# optionally you can print
# print(run)
# but commas can be seen between each link entry, as it is syntactically mandatory