Веб-краулер Python — поиск музыкальных обзоров в облаке (3)

Python

«Это третий день моего участия в ноябрьском испытании обновлений. Подробную информацию об этом событии см.:Вызов последнего обновления 2021 г."

Изучив основы рептилий за первые два дня, сегодня попробую. Поднимитесь на комментарии NetEase Cloud.

1. Найдите цель местоположения

Сначала найдите мою любимую песню "Golden Age", но оригинальной песни нет, в NetEase Cloud действительно нет оригинальной песни, а каверов много! !

image.png

Видно, что все комментарии завернуты в id="auto-id-0flvTEG8zLVkFZST"

в этикетке. Независимо от этого, загрузите веб-страницу и посмотрите.

2. Загрузите веб-страницу

Сначала загрузите веб-страницу, а затем используйте BeautifulSoup для извлечения содержимого комментариев.

import requests

def get_url(url):
    headers = {'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1'}

    res = requests.get(url,headers = headers)

    return res

def main():
    url = input("请输入链接地址:")
    res = get_url(url)

    with open("res.txt","w",encoding = 'utf-8') as file:
        file.write(res.text)
        
if __name__ == "__main__":
    main()

Результаты вывода следующие, вам нужно самостоятельно войти на веб-страницу соответствующей песни:

image.png

image.png

Ищите соответствующие комментарии, но вы не можете их найти! Обратите внимание, что комментариев в этом файле нет! Это означает, что комментарии находятся в других файлах!

3. Установите скорость и найдите целевой файл

Скорость сети слишком высока, и вся веб-страница загружается одним движением.

Мы нажимаем на сеть и обновляем ее, и мы можем найти множество исходных файлов, которые являются частью всей веб-страницы:

image.png

Мы собираемся найти файлы с комментариями в этой куче файлов; очевидно, мы могли бы просмотреть файлы один за другим, но это немного хлопотно. Здесь мы можем замедлить работу браузера, чтобы загрузить веб-страницу, и остановить время, когда цель будет найдена.

image.png

Порядок дополнительных меток следующий:

data = soup.select('#main > div > div.mtop.firstMod.clearfix > div.centerBox > ul.newsList > li > a')

Перевернулся, браузер не может! Вернитесь и обновите Chrome сегодня вечером!

Комментарии — это документы, мы можем напрямую просматривать файлы типа XHR и DOC. В то же время при загрузке целевого файла мы обнаружим, что файл является файлом POST.Помните, что мы говорили ранее о файле POST? Нам нужно отправить определенные данные на сервер, чтобы получить то, что мы хотим. Я обновлю это завтра!