Nano Hash - криптовалюты, майнинг, программирование

Как написать регулярное выражение для xpath в scrapy?

Я новичок в scrapy и использую его для поиска вопросов и ответов на веб-странице. Я начал следующее с этой страницы.

Я пробовал с селектором таким образом, наблюдая за их xpaths:

sel = Selector(text=response.body)
spanList = (sel.xpath('//a/span').extract())

но при этом я получаю дублированный контент, я получаю вывод таким образом

"<span>How do I access my account online at Citibank Online?</span>",
"<span>What are the guidelines for creating an internet password?</span>",
"<span>I forgot my User ID for accessing my account online. How do I access my account online now?</span>",
"<span>How do I transfer funds to another bank account in India?</span>",
"<span>How do I transfer funds to my Rupee Checking Account from overseas?</span>",
"<span>How do I transfer funds from my Rupee Checking Account to my local bank account overseas?</span>",
"<span>How do I update my contact information?</span>",
"<span>I have not operated my Rupee Checking Account for a long time and I plan to visit India. Can I transact on my account when I visit India?</span>",
"<span>My Term Deposits with Citibank are due to mature soon. What do I need to do?</span>",
"<span>I would like to terminate my Term Deposits before maturity? Will I lose any money?</span>",
"<span>Why do I need to provide \"Customer Profile Update\" forms so often?</span>",
"<span>How do I access my account online at Citibank Online?</span>",
"<span>What are the guidelines for creating an internet password?</span>",
"<span>I forgot my User ID for accessing my account online. How do I access my account online now?</span>",
..................

если вы обратите внимание на часть вывода, которую я опубликовал, там снова повторяются первый и третий отрезки.

Есть ли способ написать хорошее регулярное выражение, которое извлекает содержимое без повторения.

примеры xpaths вопросов со страницы, которую я упомянул,

/html/body/div1/ div[2]/div[3]/div[2]/div/div[2]/div/div[3]/div1/div[3]/div1/a/span

/html/body/div1/ div[2]/div[3]/div[2]/div/div[2]/div/div[3]/div1/div[5]/div[5]/div1/a/span

/html/body/div1/ div[2]/div[3]/div[2]/div/div[2]/div/div[3]/div1/div[5]/div1/div1/a/span


Ответы:


1

Проверьте это,

points = response.xpath('//*[@class="ClsInnerDrop"]//span/text()').extract()
pointes = set(points)
10.09.2018
  • это не сохраняет порядок вывода, как я могу сохранить порядок во время выборки? 12.09.2018
  • скрап асинхронный. Последовательно не получится. Вы добавили какую-то соль во время соскабливания и должны удалить ее во время обработки. 12.09.2018
  • Набор @Satyaaditya может быть причиной того, что вы пишете свой собственный алгоритм, который может работать точно так, как установлено, без потери порядка элементов. 12.09.2018
  • да, set виноват даже в моем алгоритме, я изменил это. Есть ли какой-нибудь метод в scrapy, который возвращает узлы вместо текста? Я попытался удалить текст и его возвращаемую строку с тегами 12.09.2018
  • @Satyaaditya M не получает то, что именно ты хочешь 12.09.2018
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..