#web-scraping
#очистка веб-страниц
Вопрос:
Я довольно новичок в веб-очистке, и недавно я пытаюсь автоматически удалить номер телефона для таких страниц, как эта. Я не должен использовать библиотеки браузера Selenium / безголовых URL-адресов, и я пытаюсь найти способ фактически запросить номер телефона, используя, скажем, веб-сервис или любое другое возможное решение, которое могло бы дать мне номер телефона, надеюсь, напрямую, без необходимости проходить через фактическое нажатие кнопки selenium.
Я полностью понимаю, что, возможно, даже невозможно автоматически раскрыть номер телефона за один раз, поскольку он должен быть недоступен для любопытного новичка-веб-скребка, такого как я; но я все же хотел бы задать вопрос для моей информации, чтобы получить подробный ответ с экспертной точки зрения.
Если я выполняю поиск в элементе DOM кнопки «Показать», он показывает некоторые теги, которые я никогда раньше не видел. У меня есть два основных вопроса, которые, я считаю, могут быть полезны для новичков, таких как я.
1) Учитывая набор неизвестных тегов / атрибутов (т.Е. data-q и data-reveal в кнопке blow), как можно узнать, какие скрипты на странице на самом деле их используют?
2) Я погуглил тег элемента button, например: data-q и data-reveal, единственное, что я смог найти, это то, к чему по какой-то причине у меня нет доступа даже к двум — если я использую прокси.
Любая подсказка, особенно по первому вопросу, очень ценится.
С уважением,
Ниже приведен код кнопки href
<a href="#" class="btn-secondary set-right is-disabled" data-q="reply-panel-reveal-btn" data-reveal="advertId:1190345514" data-analytics="gaEvent:R2SPhoneBegin,zenoEvent:PhoneEvent,zenoOptions:{adId:1190345514,pageType:VIP}" data-toggler="channel:syi.reveal-phone,className:is-disabled,selfBroadcast:false" aria-expanded="true">Reveal</a>
Ответ №1:
Хорошо, в соответствии с вашим требованием, есть несколько шагов, прежде чем вы, наконец, получите решение.
1-й шаг: откройте свой собственный браузер и введите целевую страницу (https://www.gumtree.com/p/vans/2015-ford-transit-custom-2.2tdci-290-l1-h1/1190345514 )
2-й шаг: (Предположим, вы используете Chrome в качестве своего любимого браузера) Нажмите Ctrl ShiftI, чтобы открыть консоль, а затем выберите тег «Сеть» в консоли.
3-й шаг: нажмите кнопку «Показать» на этой странице, внимательно следите за консолью, перехватите http-запрос, который отправляется немедленно, когда вы нажимаете кнопку «Показать». Вы можете видеть, что запрос содержит длинную строку номера в параметрах строки запроса, на самом деле это временная метка.
4-й шаг: также вы можете видеть, что в этом http-запросе есть часть с именем «Заголовки запроса», и вы должны скопировать значения referer , user-agent , x-gumtree-token .
5-й шаг: попробуйте создать свой запрос (я фанат Python, поэтому я покажу вам свой пример кода на Python)
import time
import requests
import json
headers = {
'referer': 'please enter the value you just copied from that specific request',
'user-agent': 'please enter the value you just copied from that specific request',
'x-gumtree-token': 'please enter the value you just copied from that specific request'
}
url = 'https://www.gumtree.com/ajax/account/seller/reveal/number/1190345514?_='
current_time = time.time()
current_time = str(current_time)
current_time = current_time.split('.')[0] current_time.split('.')[1] '0'
url = current_time
response = requests.get(url=url,headers=headers)
response_result = json.loads(response.content)
phone_number = response_result['data']