Найти - Пользователи
Полная версия: Работа со списком
Начало » Python для новичков » Работа со списком
1
forexjoker
Добрый день, подскажите пожалуйста. Есть задача:
- По запросу “ххх” парсим выдачу Гугл
- Тащим все ссылки
- Переходим по этим ссылкам и парсим Заголовки сайтов.
Вот завис на третьем шаге, вот код:
 import requests, re
from bs4 import BeautifulSoup
url = 'http://www.google.com/search'
keyword = input("vvodim zapros:  ")
payload = {'q': keyword, 'start': '0', 'num':'20'}
my_headers = {'User-agent': 'Mozilla/11.0'}
r = requests.get(url, params=payload, headers=my_headers)
soup = BeautifulSoup(r.text, 'html.parser')
h3tags = soup.find_all('h3', class_='r')
for h3 in h3tags:
    try:
        massiv = []
        massiv.append(re.search('url\?q=(.+?)\&sa', h3.a['href']).group(1))
        print(massiv)
    except:
        continue
На данный момент у меня выводит 20 сайтов, по тому запросу, который я набираю. Но мне нужно сейчас:
1. Отсеить дубли страниц, чтобы не было вот такого:
'хттп/kaban.tv:8080/']
'хттп/ kaban.tv:8080/rossiya-1-online'
'хттп/kaban.tv:8080/tnt-online'
2. Взять каждую ссылку и перейти по ней.
В этом и заключается вопрос: “Как мне убрать дубли страниц и как вытащить из списка всех ссылок ссылку1, ссылку2 и так далее?”
Буду очень благодарен за помощь!
py.user.next
Нужно на функциях всё делать.
У тебя же всё вперемешку, из-за чего при малейшем усложнении задания всё ломается целиком.

Сделай функцию загрузки страницы по запросу. Ты ей подаёшь строку запроса, а она тебе возвращает страницу с результатами.

Сделай функцию выделения ссылок из страницы. Ты ей подаёшь текст страницы, а она тебе возвращает список ссылок.

Сделай функцию фильтрования ссылок из списка ссылок. Ты ей подаёшь список ссылок, а она тебе возвращает отфильтрованный список ссылок.

Сделай функцию загрузки страницы по адресу. Ты ей подаёшь адрес, а она тебе возвращает страницу с этого адреса.

Сделай функцию извлечения заголовка страницы. Ты ей подаёшь текст страницы, а она тебе возвращает заголовок страницы.

Потом сделай общую функцию, которая управляет всеми этими функциями.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB