2016-02-05 7 views
-1

У меня есть набор данных, содержащий различные URL-адреса.Анализ семантики URL-адреса в R

https://www.thetrainline.com/buytickets/combinedmatrix.aspx?Command=TimeTable 
https://wwf-fb.zyngawithfriends.com/wwf-fb.a84485c126e67ea2787c.html 
http://www.thetrainline.com/destinations/trains-to-london 

Я хочу сделать семантический анализ URL-адреса (ключевые слова в URL-адресе после /).

Пожалуйста, помогите мне.

Благодаря

+1

Что такое «анализ семантики» в этом контексте? Какая косая черта? Что вы пробовали? – lukeA

+0

, как и в третьем URL-адресе, мне нужно извлечь адреса и поезда в Лондон из URL-адреса. я не очень хорошо знаком с понятиями регулярных выражений. –

+0

, когда вы говорите после '/', вы имеете в виду путь к URL? – Sotos

ответ

2

Это значительно быстрее и более всеобъемлющим, чем вы собираетесь получить делать это вручную.

library(urltools) 

URLs <- c("https://www.thetrainline.com/buytickets/combinedmatrix.aspx?Command=TimeTable", 
      "https://wwf-fb.zyngawithfriends.com/wwf-fb.a84485c126e67ea2787c.html", 
      "https:/test.com/thing.php?a=1&b=2", 
      "http://www.thetrainline.com/destinations/trains-to-london") 

url_parse(URLs) 

## scheme      domain port        path   parameter fragment 
## 1 https  www.thetrainline.com  buytickets/combinedmatrix.aspx command=timetable   
## 2 https wwf-fb.zyngawithfriends.com  wwf-fb.a84485c126e67ea2787c.html       
## 3        https     test.com/thing.php   a=1&b=2   
## 4 http  www.thetrainline.com   destinations/trains-to-london 
+0

Что делать, если у нас есть неправильные злонамеренные URL-адреса? т. е. (http: //.https: //www.something-bad.com/something/whatever.com/https: //www.somethingelse.org/) Будет ли он все еще распознавать разные части? (домен, путь и т. д.) – Sotos

+0

Кроме того, ваш третий URL-адрес не обрабатывается правильно ... это? ... О, вы забыли '/' – Sotos

+0

Если вы попытаетесь разобрать это: 'url2 <- c (' http: // https: //gallery46.co.il/wp-content/themes/twentytwelve/js/cj/1.html? http: //www.freefilefillableforms.com + ') 'он потерпит неудачу. – Sotos

1
URLs1 <- c('http://www.thetrainline.com/destinations/trains-to-london', 'https://wwf-fb.zyngawithfriends.com/wwf-fb.a84485c126e67ea2787c.html', 'https://www.thetrainline.com/buytickets/combinedmatrix.aspx?Command=TimeTable') 
> gsub('^(?:[^/]*/){3}','/', URLs1) 
[1] "/destinations/trains-to-london"     "/wwf-fb.a84485c126e67ea2787c.html"     
[3] "/buytickets/combinedmatrix.aspx?Command=TimeTable" 
> 
+0

спасибо. Мне не хватает регулярных выражений –