Как найти пары ключ-значение для словаря 'data' в запросе session.post () - PullRequest
0 голосов
/ 05 июня 2019

Мне удалось (с помощью сообщества StackOverflow) написать скрипт для очистки веб-страницы недвижимости. Одна ключевая часть этого - requests.post(html, data=data), как в:

from bs4 import BeautifulSoup
from lxml import html
import requests

# get homepage session
session = requests.Session()
homepage = session.get('https://www.mlslistings.com/') 
soup = BeautifulSoup(homepage.content, "html.parser")

# get security token, post search data
token = soup.find("input", attrs={"name" : "__RequestVerificationToken"})['value']
data = {'transactionType': 'buy', 'listing_status': 'Active', 'searchTextType': '', 'searchText': '94618','__RequestVerificationToken': token, 'property_type': 'SingleFamilyResidence'}
search_results = session.post("https://www.mlslistings.com/Search/ResultPost", data=data)
tree = html.fromstring(search_results.content)

Это прекрасно работает, но я не смогу сделать это снова для другой веб-страницы самостоятельно. Итак, у меня есть пара вопросов: 1. Как найти названия ключей и соответствующие значения в словаре data? Я проверил HTML-элементы страницы и у меня возникли проблемы с их поиском. 2. Всегда ли добавляется /Search/ResultPost к URL-адресу веб-страницы для запроса session.post()? Кажется, это не сработает, если я удалю его, но я не знаю, откуда оно пришло или будет ли это применяться ко всем веб-страницам, которые я пытаюсь в будущем очистить.

...