从Python和Web抓取开始...我不太明白为什么这不起作用?



我使用以下代码,尝试在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

最新更新