В Python 2.x вы можете создать свой список поддоменов следующим образом:
from bs4 import BeautifulSoup
import urllib2
base_url = 'http://www.lyricsfreak.com'
request = urllib2.Request(base_url + '/e/ed+sheeran/', headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64)'})
response = urllib2.urlopen(request)
soup = BeautifulSoup(response.read(), 'html.parser')
urls = []
for tr in soup.select('tbody tr'):
urls.append(base_url + tr.td.a['href'])
print urls
Это создаст urls
список, начинающийся с:
['http://www.lyricsfreak.com/e/ed+sheeran/a+team_20983411.html', 'http://www.lyricsfreak.com/e/ed+sheeran/afire+love_21084845.html', ...
В Python 3.x это можно изменить следующим образом:
from bs4 import BeautifulSoup
import urllib
base_url = 'http://www.lyricsfreak.com'
resp = urllib.request.urlopen(base_url + '/e/ed+sheeran/')
soup = BeautifulSoup(resp, 'html.parser')
urls = []
for tr in soup.select('tbody tr'):
urls.append(base_url + tr.td.a['href'])
print(urls)
Или используйте библиотеку requests
следующим образом:
from bs4 import BeautifulSoup
import requests
base_url = 'http://www.lyricsfreak.com'
response = requests.get(base_url + '/e/ed+sheeran/')
soup = BeautifulSoup(response.text, 'html.parser')
urls = []
for tr in soup.select('tbody tr'):
urls.append(base_url + tr.td.a['href'])
Установка с использованием:
pip install requests