Найти - Пользователи
Полная версия: Помогите. Парсинг сайта не могу правильно установить параметры request.
Начало » Python для экспертов » Помогите. Парсинг сайта не могу правильно установить параметры request.
1
gtlhbkkj
пожста помогите грамотно составить request.
на ветке для новичков никто не отозвался.
благодарю.
.
Вебсайт по этому адресу: http://www.eatonpowersource.com/cross-reference/

в окошко нужно ввести параметр для поиска

.
.
сам вебсайт после нажатия кнопки выглядит так
.


когда в мозилле смотрю анализ окошка ввода, там есть два варианта
Метод: POST
Линк: http://www.eatonpowersource.com/cross-reference/results/
Параметры
Criteria.SiteSearchTerm
Criteria.CurrentPageNumber=1
Criteria.FilterOptions.SortBy=CompetitorPartNumber
Criteria.FilterOptions.SortOrder=Asc
Criteria.CompetitorPartNumber=0330D0
Criteria.FilterOptions.PageSize=25

и
Метод: GET
линк:
http://www.eatonpowersource.com/cross-reference/json/criteriaresults/?Criteria.SiteSearchTerm=&Criteria.CurrentPageNumber=1&Criteria.FilterOptions.SortBy=CompetitorPartNumber&Criteria.FilterOptions.SortOrder=Asc&Criteria.CompetitorPartNumber=0330D0&Criteria.FilterOptions.PageSize=25&_=1569680055925

Параметры
Criteria.SiteSearchTerm=
Criteria.CurrentPageNumber=1
Criteria.FilterOptions.SortBy=CompetitorPartNumber
Criteria.FilterOptions.SortOrder=Asc
Criteria.CompetitorPartNumber=0330D0
Criteria.FilterOptions.PageSize=25
_=1569680055925

когда задаю request c данными из GET, то приходит следующее

что не совсем нужно

когда задаю request c данными из POST, то приходит или
404 - page not found
или ошибка 500

 # функция для отправки веб запроса и записи результатов в файл
def fg_list_bot(_name_element, _output_file):
    s = requests.Session()
    _data = {"Criteria.SiteSearchTerm":"",
             "Criteria.CurrentPageNumber":"1",
             "Criteria.FilterOptions.SortBy":"CompetitorPartNumber",
             "Criteria.FilterOptions.SortOrder":"Asc",
             "Criteria.CompetitorPartNumber":_name_element,
             "Criteria.FilterOptions.PageSize":"25",
             "_":"1569680055925"}
    r = requests.post("_Url", data=_data)
    with open(_output_file, "w") as f: f.write(r.text)
    print(r.status_code)
    input()
import requests
from bs4 import BeautifulSoup
_url = "http://www.eatonpowersource.com/cross-reference/results/"
_name_element = "0330D0"      # текст запроса который посылаем в форму
_output_file = "Eaton_Vickers.html"
fg_list_bot(_name_element, _output_file)
f_parse(_output_file)
zahar
почему в скрипте _url = "http://www.eatonpowersource.com/cross-reference/results/" ?
адрес выдает: Internal Server Error - 500
gtlhbkkj
мне помогли в этом вопросе
чел сказал пошли гет запрос на этот линк
www.eatonpowersource.com/cross-reference/?sitesearchterm=0330D0
линк действительно работает, я на его базе написал парсинг по списку.
Одного только не понимаю - откуда он этот линк взял.
я весь оригинальный вебсайт просмтрел, там нет такого линка вообще.
Есть у кого идеи, как он нашел этот линк?
py.user.next
gtlhbkkj
Есть у кого идеи, как он нашел этот линк?
Скорее всего, он в браузере открыл консоль разработчика и там отследил поведение браузера (запросы) при нажатии на кнопки.
zahar
для таких целей я использую Firefox Developer Edition
gtlhbkkj
zahar
для таких целей я использую Firefox Developer Edition
установил его
всё равно на тот линк не могу выйти
если вы смогли выйти на указанный линк, пожста поделитесь как у вас получилось.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB