Как написать регулярное выражение для xpath в scrapy? - PullRequest
0 голосов
/ 10 сентября 2018

Я новичок в 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>",
..................

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

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

примеры xpath вопросов на упомянутой мной странице:

/ html / body / div 1 / div [2]/ дела [3] / дела [2] / дела / дела [2] / дела / дела [3] / дела 1 * тысяча двадцать один * / дела [3] / дела * +1022 * 1 * тысяча двадцать-три * / а /span

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

/ html / body / div 1 / дел [2] / дел [3] / дела [2] / дела / дела [2] / дела / дела [3] / дела * одна тысяча тридцать-шесть * 1 * 1 037 * / дел [5] / дела 1 / div 1 / a / span

1 Ответ

0 голосов
/ 10 сентября 2018

Оформить заказ,

points = response.xpath('//*[@class="ClsInnerDrop"]//span/text()').extract()
pointes = set(points)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...