#!/usr/bin/env python2 # -*- coding: utf-8 -*- from BeautifulSoup import BeautifulSoup from bs4 import BeautifulSoup from lxml import html import requests import sqlite3 #Ustawienia bazy danych con = sqlite3.connect('test.db') con.row_factory = sqlite3.Row cur = con.cursor() #Iterracja bo jestem przybity i nie wiem jak to zrobic inaczej i = 0 #Pobranie źródła #ważne żeby ustawić kodowanie!!! odpowiedz = requests.get("http://www.wykop.pl/tag/znaleziska/programowanie/") odpowiedz.encoding = ("utf-8") html_doc = odpowiedz.content #Parser znajduje wszystkie linki do znalezisk i dodaje je do listy 'linki' #a na końcu wyświetla ich ilość(strona w ajax i przy załadowaniu wyświetla # tylko 50 pierwszych rekordów - trzeba coś wymyślić) soup = BeautifulSoup(html_doc, 'html.parser') links = soup('h2') linki = [] for link in links: a = link.a.get('href') linki.append(a) print("Liczba linkow: ", len(linki)) #Pętla przechodzi do znaleziska,znajduje tytuł, a następnie dopisuje do DB linki i tytuly #drukuje w konsoli: linki,tytuly,nr iterracji for zapytanie in linki: zapytanie = requests.get(linki[i]) print(str(linki[i])) cont = zapytanie.text soup1 = BeautifulSoup(cont, 'html.parser') print(soup1.h2.a.string) tytul = soup1.h2.a.string cur.execute('INSERT INTO linki VALUES(NULL, ?, ?);', (str(linki[i]), tytul)) print(i) i = i + 1 con.commit() #Informacja o poprawnym zakonczeniu skryptu: print(" ") print("FINITO !")