Что такое ajax?Проще говоря, после загрузки веб-страницы вы все еще не можете увидеть некоторую информацию, вам нужно нажать кнопку, чтобы увидеть данные, или на некоторых веб-страницах много данных страницы, и вы нажимаете на следующая страница, URL-адрес веб-страницы не изменился, но изменилось содержимое, которое можно назвать ajax. Если вы все еще не понимаете, позвольте мне показать вам объяснение энциклопедии Baidu, вот объяснение.
Ajax расшифровывается как «асинхронный Javascript и XML», что относится к технологии веб-разработки для создания интерактивных веб-приложений.
Ajax = асинхронный JavaScript и XML (подмножество стандартного универсального языка разметки).
Ajax — это метод создания быстрых и динамичных веб-страниц.
Ajax — это метод обновления частей веб-страницы без перезагрузки всей веб-страницы. [
Ajax позволяет асинхронно обновлять веб-страницы, обмениваясь небольшими объемами данных с сервером в фоновом режиме. Это означает, что части страницы могут быть обновлены без перезагрузки всей страницы.
Традиционные веб-страницы (без Ajax) должны перезагружать всю веб-страницу, если необходимо обновить содержимое.
Давайте поговорим о примере. Самая сложная ajax-страница, которую я просканировал, — это комментарии NetEase Cloud Music. Если вам интересно, вы можете взглянуть.Используйте python для сканирования облачной музыки Netease и сохранения данных в mysql.
Комментарии здесь загружаются с помощью ajax, и другие, которые захватили фотографию сегодняшней девушки из заголовка, также загружаются с помощью ajax, но я упростил это. Их гораздо больше, так что давайте не будем об этом, давайте поговорим о веб-сайте ajax, о котором я хочу поговорить сегодня!
http://www.kfc.com.cn/kfccda/storelist/index.aspx
Это фасадная информация KFC
Здесь много страниц данных, и данные каждой страницы загружаются ajax. Если вы напрямую используете python для запроса вышеуказанного URL-адреса, предполагается, что вы не сможете получить какие-либо данные. Если вы не верите в это, вы можете попробовать. В это время мы открываем инструменты разработчика, как обычно. Сначала очистите все запросы, отметьте непрерывный журнал, затем нажмите следующую страницу, вы увидите
Вышеупомянутый запрос - это веб-страница, запрашиваемая ajax, и в ней будут нужные нам данные. Давайте посмотрим, что это за запрос.
Это почтовый запрос. Код статуса успешного запроса — 200. Там же находится URL-адрес запроса. Ниже приведены данные, которые нам нужно опубликовать. Легко догадаться, что pageIndex — это количество страниц, поэтому мы можем изменить это значение для перелистывания страниц.
Анализ этой веб-страницы завершен, и это решение динамической веб-страницы ajax.Вы думаете, что это очень просто, но это не так, но эта веб-страница относительно проста, потому что данные в форме (от data) не зашифрован. Если он зашифрован, предполагается, что вы найдете файл js, чтобы увидеть, как зашифрованы параметры. Это сканирование обзора NetEase Cloud Music, который я написал ранее. Глядя на эти запутанные js, чтобы найти методы шифрования, иногда может вызвать головную боль, поэтому люди часто предпочитают использовать селен для сканирования, но их использование снижает производительность сканера, поэтому этот метод не разрешен в работе. Так что надо научиться справляться с этими ajax.
вставьте код
import requests
page = 1
while True:
url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=cname'
data = {
'cname': '广州',
'pid': '',
'pageIndex': page,
'pageSize': '10'
}
response = requests.post(url, data=data)
print(response.json())
if response.json().get('Table1', ''):
page += 1
else:
break
Вы можете видеть, что удаляя из данных, вы можете спуститься по всем данным без десяти строк кода, так что этот сайт подходит для практики, вы можете попробовать.
напиши в конце
В следующей статье я напишу сложный ajax-запрос, этот сайт
http://drugs.dxy.cn/
Я не знаю, сколько людей хотят это увидеть, если вы хотите это увидеть, поставьте лайк! Или вы можете попробовать сами
рекомендуемая статья
Используйте python для сканирования облачной музыки Netease и сохранения данных в mysql.
Изучайте Python каждый день
Код — это не только баги, но и красота и веселье