Необходимо сделать парсер внутренних ссылок на сайт. Мне нужен первые 5 ссылки который находится в ('table',id='js-mutual-table'). И записать их в файл
import requests
import bs4
from bs4 import BeautifulSoup
import json
import sys
def get_html(url):
response = requests.get(url)
html = response.content
soup = BeautifulSoup(html, 'html.parser')
return soup
def links_all(soup):
tds = soup.find('table',id='js-mutual-table').find_all('td')
links = []
for td in tds:
a = td.find(lambda tag: tag.get('href'))
links.append(a)
return links
def main():
url = 'https://www.betexplorer.com/basketball/chile/lnb/ancud-osorn/bcqSOKom/'
all_links = links_all(get_html(url))
for i in all_links:
print(i)
line = [all_links]
with open(r'C:\Users\Djok\Desktop\Проект ставка\Для ссылки\PythonApplication1\PythonApplication1\est.txt', 'w') as file:
file.write('\n'.join(line))
if __name__ == '__main__':
main()
Попробуйте так:
import lxml.html
r = requests.get(url)
tab = lxml.html.fromstring(r.content)
res = tab.xpath("//table[@id='js-mutual-table']//tr/td/a/@href")
результат:
In [166]: res
Out[166]:
['/basketball/chile/lnb/ancud-osorno/bcqSOKom/',
'/basketball/chile/lnb/osorno-ancud/jV2gM68i/',
'/basketball/chile/lnb-2017-2018/osorno-ancud/hnm7o9QQ/',
'/basketball/chile/lnb-2017-2018/ancud-osorno/fiVEhKYn/',
'/basketball/chile/lnb-2017-2018/osorno-ancud/pnDRPFtg/',
'/basketball/chile/lnb-2017-2018/ancud-osorno/nB7sEwoh/',
'/basketball/chile/lnb-2016-2017/osorno-ancud/Q7DkSVXO/',
'/basketball/chile/lnb-2016-2017/ancud-osorno/2iFROnyk/',
'/basketball/chile/lnb-2016-2017/ancud-osorno/YHANPSLr/',
'/basketball/chile/lnb-2016-2017/osorno-ancud/tKVrXAT8/',
'/basketball/chile/lnb-2016-2017/osorno-ancud/2TWvYjE2/',
'/basketball/chile/lnb-2016-2017/ancud-osorno/67zCNVom/',
'/basketball/chile/lnb-2016-2017/osorno-ancud/UNOm69aF/',
'/basketball/chile/lnb-2016-2017/osorno-ancud/Kj2I8YK5/',
'/basketball/chile/lnb-2016-2017/ancud-osorno/ns0fmRhS/',
'/basketball/chile/lnb-2014-2015/osorno-ancud/QojeID7j/',
'/basketball/chile/lnb-2014-2015/ancud-osorno/IJJQmjuo/']
In [167]: res[:5]
Out[167]:
['/basketball/chile/lnb/ancud-osorno/bcqSOKom/',
'/basketball/chile/lnb/osorno-ancud/jV2gM68i/',
'/basketball/chile/lnb-2017-2018/osorno-ancud/hnm7o9QQ/',
'/basketball/chile/lnb-2017-2018/ancud-osorno/fiVEhKYn/',
'/basketball/chile/lnb-2017-2018/osorno-ancud/pnDRPFtg/']
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости