Crear la base de datos
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[void][System.Reflection.Assembly]::LoadWithPartialName("MySql.Data") $Connection = New-Object MySql.Data.MySqlClient.MySqlConnection $ConnectionString = "server=" + "localhost" + ";port=3306;uid=" + "root" + ";pwd=" + "root" $Connection.ConnectionString = $ConnectionString $Connection.Open() $Query = 'create database bbc' $Command = New-Object MySql.Data.MySqlClient.MySqlCommand($Query, $Connection) $DataAdapter = New-Object MySql.Data.MySqlClient.MySqlDataAdapter($Command) $DataSet = New-Object System.Data.DataSet $RecordCount = $dataAdapter.Fill($dataSet, "data") $DataSet.Tables[0] $Connection.Close() |
Crear e insertar cada noticia en una tabla de la base de datos
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
[void][System.Reflection.Assembly]::LoadWithPartialName("MySql.Data") $Connection = New-Object MySql.Data.MySqlClient.MySqlConnection $ConnectionString = "server=" + "localhost" + ";port=3306;uid=" + "root" + ";pwd=" + "root" + ";database="+"bbc" $Connection.ConnectionString = $ConnectionString $Connection.Open() $Query = 'create table titulo(titulo varchar(500) primary key)' $Command = New-Object MySql.Data.MySqlClient.MySqlCommand($Query, $Connection) $DataAdapter = New-Object MySql.Data.MySqlClient.MySqlDataAdapter($Command) $DataSet = New-Object System.Data.DataSet $RecordCount = $dataAdapter.Fill($dataSet, "data") $DataSet.Tables[0] $url='https://www.bbc.com/news/' $result = Invoke-WebRequest $url $result.AllElements | Where Class -eq 'gs-c-promo-heading__title gel-pica-bold nw-o-link-split__text' | %{$_.innerText} | %{ $Query = "INSERT INTO titulo (titulo) values (""$_"")" $Query $Command = New-Object MySql.Data.MySqlClient.MySqlCommand($Query, $Connection) $DataAdapter = New-Object MySql.Data.MySqlClient.MySqlDataAdapter($Command) $DataSet = New-Object System.Data.DataSet $RecordCount = $dataAdapter.Fill($dataSet, "data") $DataSet.Tables[0] } $Connection.Close() |
Realizado por Ignacio Barranquero