Форум сайта python.su
Подскажите пожалуйста как получить данные с сайта если они спрятаны за строкой поиска, т.е. заходим на сайт,
а там через строку поиска <input name=“location” type=“text” style=“width: 100%” />
вводим слово и после нажатия кнопки <input name=“Submit1” type=“submit” value=“Submit” style=“width: 157px” />
получаем результат на этой же страничке, который и хотелось бы спарсить.
Вопрос в том как программно отправить запрос с нужным словом и получить ответ.
На этом сайте БД ip-шников зарезервированных за странами , вот я и хочу автоматически программно получать зарезервированный пул за страной
Пытаюсь сделать вот так
from bs4 import BeautifulSoup import requests url = "https://suip.biz/?act=ipcountry" data = {'filter[search]': 'ru'} response = requests.post(url, data=data) soup = BeautifulSoup(response.content, "lxml") quote_list = soup.findAll("div") print(quote_list)
[] Process finished with exit code 0
Отредактировано vovakms (Июнь 16, 2021 00:51:49)
Офлайн
Зашел на тот сайт. У него при запросе отправляется еще и какой-то токен, скорее всего он генерируется JS на странице. Попробуй найти другой подобный сайт, иначе почитай про selenium. По крайней мере мне запрос с твоими данными вернул “Ваш запрос не принят.”
from selenium import webdriver from bs4 import BeautifulSoup as bs opts = webdriver,ChromeOptions() opts.add_argument("--headless") drv = driver.Chrome(options=opts) drv.get("https://suip.biz/?act=ipcountry") drv.find_element_by_id(....).send_keys(...)
# Life loop while alive: if (fun > boredom) and money: pass_day(fun, boredom, money) continue else: break
Офлайн
DamMercul прошу прощения что прозевал Ваш ответ,
если не трудно подскажите еще по Вашему запросу, я пытаюсь его выполнить мне в ответ ошибка
opts = webdriver, ChromeOptions()
NameError: name ‘ChromeOptions’ is not defined
Отредактировано vovakms (Июль 1, 2021 00:08:49)
Офлайн
opts = webdriver, ChromeOptions()
не через запятую а через точку пишите
Офлайн
Спасибо поправил, но теперь другая ошибка
raceback (most recent call last):
File “/……./PROJ/Python/Parser001/fun4.py”, line 6, in <module>
drv = driver.Chrome(options=opts)
NameError: name ‘driver’ is not defined
Process finished with exit code 1
PyCharm предлагает “Import lib2to3.pgen2.driver”
Офлайн
Установил selenium и все остальное необходимое для работы , запускаю
from selenium import webdriver opts = webdriver.ChromeOptions() opts.add_argument("--headless") drv = webdriver.Chrome(options=opts) drv.get("https://suip.biz/?act=ipcountry") # drv.find_element_by_id("pre").send_keys("1")
Офлайн
Помогите пожалуйста, может знает кто нибудь
Офлайн
vovakms
Вы, дорогой, утомили сообщество своей тупостью. Перед тем как использовать профессиональные инструменты не плохо бы освоить азбуку, вы так не думаете? Ну, вы пойдите на любой другой профессиональный форум, скажем, на форум фотографов и начните там задавать вопросы типа “а я вот купил Nikon D6, смотрю в дырочку, а там ничо не видно, а когда нажимаю на круглую кнопку оно делает вжик. А я не хочу вжик, хочу фоточку чтобы продать можно было задорого”. Долго вас там будут терпеть? Почему вы думаете, что вас здесь терпеть должны? Учебник - сначала, вопросы - потом.
Офлайн
vovakmsТы че, запятую на точку не поменял? Зачем ты пишешь на этот форум, если синтаксис не знаешь толком
opts = webdriver, ChromeOptions()NameError: name ‘ChromeOptions’ is not defined
# Life loop while alive: if (fun > boredom) and money: pass_day(fun, boredom, money) continue else: break
Офлайн
DamMercul
посмотрите сообщения , запятая не моя ошибка , я написал без запятой а с точкой,
Офлайн