Я создал код на python, чтобы получить доступ к обратному сайту поиска по телефону и определить, является ли телефон сотовым телефоном или наземной линией. Веб-сайт, который я использую, - это whitepages, страница результатов которого будет включать только фразу «VoIP», если телефон является наземной линией (которую я определил после просмотра многих результатов). Тем не менее, я получаю сообщение об ошибке на веб-сайте, доступ к этапу. Пока мой код выглядит следующим образом:Доступ к веб-сайту с urllib возвращает ошибку, извлечение информации из результатов Страница
import urllib
def Phone_Checker(number):
url = 'http://www.whitepages.com/reverse_phone'
enter = {'e.g. 206-867-5309': number}
door= urllib.parse.urlencode(enter)
open=door.encode('UTF-8')
fight= urllib.request.urlopen(url, open)
d = fight.read()
v="VoIP"
vv=v.encode("UTF-8")
if vv in d: #if VoIP it is landline
return False
else:
return True
Я изменил мои строки в байтах, потому что это было необходимо для моей переменной «открыть», чтобы быть в байтах urlopen. В версии кода, который я сделал для доступа к другому сайту, потребовалось несколько других преобразований строк в байты, но я не могу вспомнить, какая информация требовала этого преобразования (просто хедз-ап, если код после введения переменной боя выглядит некорректно, потому что у меня есть не удалось отладить код, который следует из моей трудности с моей urlopen. Всякий раз, когда я запускаю мой код, я получаю эту ошибку
File "C:\Users\aa364\Anaconda3\lib\urllib\request.py", line 589, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
HTTPError: Requested Range Not Satisfiable
Я задавался вопросом, как я мог бы обойти эту ошибку, и если есть какие-либо из возможных альтернатив создавая программу для проверки того, является ли телефон мобильным или стационарным для телефонов DOMESTIC (США). Заранее спасибо!
Не может ответить на ваш вопрос, но вы можете взглянуть на libphonenumber. В Github есть порт Python (https://github.com/daviddrysdale/python-phonenumbers). – moxn
Спасибо за вашу помощь! Я пытался узнать, полезны ли в этой ситуации, если будут использовать phonenumbers, но я считаю, что это может мне только помочь с международными номерами телефонов, которые не являются внутренним случаем, что я пытаюсь сделать:/ –
Ваш подход на самом деле абсолютно неверен, есть необходимость в записи и многое другое происходит, URL-адрес также отличается, последний 'http: // www.whitepages.com/phone/number', но сайт ограничивает количество звонков с вашего ip, так что это тупик, независимо от того, –