Форум сайта python.su
У меня такой вопрос. Вот я с помощью цикла перебрал ссылки из массива.
[def get_links(html):
soup = BeautifulSoup(html, ‘lxml’)
links=soup.findAll(link_container_array,{link_container_array:link_container_array})
for link_container in links:
a_tag = link_container .find(“a”)
# Если нашел
if a_tag:
link = a_tag.get(“href”)
print(link)
]
И при выводе он мне ссылки по типу “/4980254-tokaev-prinyal-novogo-akima-almaty-i.html” Нужно чтобы была полная ссылка по типу "https://www.zakon.kz/4980254-tokaev-prinyal-novogo-akima-almaty-i.html"
Вот сам полный код (если надо будет)
[import requests
from bs4 import BeautifulSoup
from urllib.parse import urljoin
import pymysql
def get_html(url):
r = requests.get(url)
return r.text
def get_links(html):
soup = BeautifulSoup(html, ‘lxml’)
links=soup.findAll(link_container_array,{link_container_array:link_container_array})
for link_container in links:
a_tag = link_container .find(“a”)
# Если нашел
if a_tag:
link = a_tag.get(“href”)
print(link)
def main(resource_allnews_link):
url = resource_allnews_link
(get_links(get_html(url)))
# < Подключение к базе данных.
connection = pymysql.connect(host='localhost',
user='root',
password='',
db='news_portal',
charset='utf8',
autocommit=True)
cursor = connection.cursor()
# < Запрос для получения правил выдергивания контента.
cursor.execute('SELECT `resource_id`, `resource_name`, `resource_url`, `resource_allnews_link`, `link_rule`, `mainblock`, `mainblock1`, `page_link`, `title`, `datetime`, `datetime1`, `text`, `text1` FROM `resource` WHERE 1')
resources=cursor.fetchall()
for resource in resources:
resource_allnews_link=resource
content_rule=resource
link_container_array=content_rule.split(',')
main(resource_allnews_link)
connection.close()
]
Офлайн
link = a_tag.get(“href”)Ну так и добавляй УРЛ спереди.
print(link)
И при выводе он мне ссылки по типу “/4980254-tokaev-prinyal-novogo-akima-almaty-i.html” Нужно чтобы была полная ссылка по типу "https://www.zakon.kz/4980254-tokaev-prinyal-novogo-akima-almaty-i.html"
link = url + str(a_tag.get("href")) print(link)
Отредактировано Striver (Авг. 16, 2019 12:53:42)
Офлайн
StriverНе зря говорят.Все гениальное - просто.Благодарю за совет!
link = url + a_tag.get(“href”)
print(link)
Офлайн