Ну, что не так в этой части:
for link in soup.find_all('a'):
links = link.get('href')
with open('urlfile.txt','wb') as f:
f.write(links)
Сначала вы пытаетесь записать строку в файл, открытый в двоичном режиме ('wb'
) - вам не нужен двоичный файл Режим здесь.
Во-вторых, вы go через все a href
ссылки с вашим l oop, и для каждой ссылки вы открываете один и тот же файл для записи. Таким образом, даже если вы исправите проблему с режимом, вы перезапишете свою предыдущую ссылку следующей - в конце в файле останется только последняя ссылка. Вам нужно переместиться open
за пределы l oop. И, наконец, возможно, стоит добавить разделитель (\n
) после каждой ссылки, которую вы пишете ...
with open('urlfile.txt','w') as f:
for link in soup.find_all('a'):
links = link.get('href')
if links:
f.write(links + '\n')