У меня есть ссылка на стеклянную дверь, к которой я пытаюсь получить доступ через request.get() https://www.glassdoor.com/Job/jobs.htm?sc.generalKeyword=%22teaching%22&sc.locationSeoString=new+york&locId=1132348&locT=C
request.get()
Я заметил, что когда я нажимаю на следующую страницу, добавляется lo_IP{page_number}.htm . Например: https://www.glassdoor.com/Job/jobs.htm?sc.generalKeyword=%22teaching%22&sc.locationSeoString=new+york&locId=1132348&lo_IP4.htm для страницы 4.
lo_IP{page_number}.htm
но когда я go перехожу прямо к этой ссылке (например, страница 4), я не попадаю на страницу 4. Есть ли там способ go на n-й номер страницы?
pages= 2 for x in range(1, pages): page_url = "https://www.glassdoor.com/Job/jobs.htm?sc.generalKeyword=%22teaching%22&sc.locationSeoString=new+york&locId=1132348&lo_IP{}.htm".format(x) headers = {"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36"} page = requests.get(page_url, headers=headers) soup = BeautifulSoup(page.content, 'html.parser')
По:
<li class="page"> <a href="/Job/jobs.htm?sc.generalKeyword=%22teaching%22&sc.locationSeoString=new+york&locId=1132348&locT=C&p=4"> <span class="link">4</span> </a> </li>
https://www.glassdoor.com/Job/jobs.htm?sc.generalKeyword=%22teaching%22&sc.locationSeoString=new+york&locId=1132348&locT=C&p=4 перейдет на страницу 4.
И логически &p=n перейдет на n-ю страницу. Итак, чтобы получить n-ю страницу
&p=n
url = f'https://www.glassdoor.com/Job/jobs.htm?sc.generalKeyword="teaching"&sc.locationSeoString=new+york&locId=1132348&locT=C&p={n}'
сайт Origin работает по JS. Он просто запрашивает данные и обновляет URL-адрес и страницу. Итак, https://www.glassdoor.com/Job/jobs.htm?sc.generalKeyword=%22teaching%22&sc.locationSeoString=new+york&locId=1132348&lo_IP4.htm - это просто то, что помещает в URL-адрес.