- 182
- 83
Скорее всего эта штука никому и нужна не будет, но, у меня возникали проблемы с парсингом через requests, решил сделать простой гайд на проверку использования сайтом капчи.
Просто некоторые сайты используют блокировку подобных запросов, и с первого взгляда хер поймёшь, тот ли там HTML или нет.
Просто некоторые сайты используют блокировку подобных запросов, и с первого взгляда хер поймёшь, тот ли там HTML или нет.
Python:
import requests
import fake_headers, fake_useragent
class Browser():
def __init__(self):
pass
@classmethod
def gethtml(cls, url):
"""Write parsed html"""
with open('index.html', 'w', encoding='utf-8') as file:
file.write(str(cls.request(url).text))
@staticmethod
def request(url):
"""Making fake information"""
fake_header = fake_headers.Headers(browser='chrome', os='win', headers=True).generate()
fake_header['User-Agent'] = fake_useragent.UserAgent()['google chrome']
"""Make main requests"""
try:
content = requests.get('{0}'.format(url), headers=fake_header)
if content.status_code == 200:
return content
else:
return -1
except requests.exceptions.ConnectionError:
return -1
if __name__ == '__main__':
browser = Browser()
browser.gethtml('https://www.blast.hk/threads/105426/')
Технология следующая:
1) Передаём ссылку в метод gethtml
2) Открываем появившийся в директории со скриптом файл index.html
Как понять?:
2) Если страница загружается, но на ней не те объекты - парсинг через requests
3) Если на странице видите число -1, то на ссылку зайти вообще не вышло.
3) Если страница подгружает только HTML маркировку, без CSS - парсингу это никак не помешает, возможно.
4) Если страница загружается полностью со всеми стилями - преград для парсинга вообще нет.
*** Если страница долго грузится, то зайдите в html код, скорее всего там всё есть. Но для достоверности лучше подождать пока она загрузится.
Последнее редактирование: