Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 16, 2019 12:33:38

r4khic
Зарегистрирован: 2019-07-23
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

Как получить полный url

У меня такой вопрос. Вот я с помощью цикла перебрал ссылки из массива.
[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()
]

Офлайн

#2 Авг. 16, 2019 12:51:38

Striver
От:
Зарегистрирован: 2006-10-26
Сообщения: 247
Репутация: +  22  -
Профиль   Отправить e-mail  

Как получить полный url

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)

Офлайн

#3 Авг. 16, 2019 12:54:38

r4khic
Зарегистрирован: 2019-07-23
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

Как получить полный url

Striver
link = url + a_tag.get(“href”)
print(link)
Не зря говорят.Все гениальное - просто.Благодарю за совет!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version