Опитвам се да създам.csv файл с филмовите данни от уебсайта Allociné (най-голямата френска база данни за филми) за изследователски проект, използвайки Crawler import.io, тъй като знанията ми по програмиране са лоши (в момента правя докторска степен по екология) и имам лесен за разбирайте инструмент изглежда като най-добрата идея.
За всеки филм ми трябва:
- заглавието на филма
- датата на излизане („Date de Sortie“ във FR)
- жанра (ите) на филма
Ето пример за филмова страница на Allociné (за Междузвездни войни I): http://www.allocine.fr/film/fichefilm_gen_cfilm=20754.html
Отначало опитах да използвам import.Инструментът за подбор на io, но не работи, тъй като някои филми имат две дати на издаване вместо една (като SW1 по-горе - първоначално издание през 1999 г. и 3D издание („reprise“) през 2012 г.) - който се прецака с Гусеницата. Така че трябваше да използвам XPaths за идентифициране на нужните ми елементи. Заглавието работи отлично (използва //title
), но имам проблеми с датите на издаване и жанровете.
За датите на пускане XPath, който извадих от източника на страницата, е:
//*[@id="col_main"]/div[4]/div/div[2]/table/tbody/tr[2]/td/a/strong/span
добавих /@content
в края, за да получите датата в yyyy-MM-dd формат, което доведе до:
//*[@id="col_main"]/div[4]/div/div[2]/table/tbody/tr[2]/td/a/strong/span/@content
Въпреки това import.io не разпознава елемента, който трябва да го намери.
За жанрове, същото нещо, получих този XPath от Chrome за първия жанр (научна фантастика):
//*[@id="col_main"]/div[4]/div/div[2]/table/tbody/tr[5]/td/a[1]/span
Имам нужда от import.io, за да събера всички жанрове, затова премахнах [1]
от a[1]
за да получите цялостта на a
.
//*[@id="col_main"]/div[4]/div/div[2]/table/tbody/tr[5]/td/a/span
И това не работи, import.io връща нулев елемент.
Така че всяко обяснение защо не работи ще бъде изключително ценено! И съжалявам, ако пропуснах нещо очевидно очевидно, както казах, изобщо не съм специалист.
Блез
Отговори:
2 за отговор № 1За датата на издаване опитайте:
// участъка [@ itemprop = "datePublished"] / @ съдържание
Това основно означава: намерете span възел, който има атрибут, наречен "datePublished", и извлечете атрибута, наречен "content"
А за жанра опитайте:
// участъка [@ itemprop = "жанр"] / текст ()
Това означава да намерите span възел, който има атрибут, наречен "жанр", и извлечете текста, който го следва.