Соскоб с помощью Anaconda и Python 3.65 - PullRequest
0 голосов
/ 02 июля 2018

Я не программист, но я пытаюсь научить себя Python, чтобы я мог получать данные с разных сайтов для проектов, над которыми я работаю. Я использую «Автоматизировать скучный материал» и у меня возникают проблемы с получением примеров для работы с одной из страниц, с которых я пытаюсь получить данные.

Я использую Anaconda в качестве подсказки для Python 3.65. Вот что я сделал:

Шаг 1: создайте красивый суповый объект

import requests, bs4
res = requests.get('https://www.almanac.com/weather/history/zipcode/02111/2017-05-15')
res.raise_for_status()
weatherTest = bs4.BeautifulSoup(res.text)
type(weatherTest)

Это работает и возвращает результат

<class 'bs4.BeautifulSoup'>

Я сделал предположение, что «noStarchSoup», который был в исходном тексте (вместо weatherTest здесь), - это имя, которое автор дал объекту, который я могу переименовать во что-то более важное для меня. Если это не так, пожалуйста, дайте мне знать.

Шаг 2: вытащить элемент из HTML

Вот где я застреваю. Автор только что упомянул, как вытащить страницу вниз в файл (что я бы предпочел не делать, я хочу использовать объект bs4), но затем использует этот файл в качестве своего источника для данных HTML. Файл примера был его загруженным файлом.

import bs4
exampleFile = open('https://www.almanac.com/weather/history/zipcode/02111/2017-05-15')

Я пытался использовать weatherTest вместо exampleFile, я пытался запустить все это с исходным именем объекта (noStarchSoup), я даже пробовал это с exampleFile, хотя я не загружал файл.

Что я получаю, это

"OSError: [Errno 22] Недопустимый аргумент: «https://www.almanac.com/weather/history/zipcode/02111/2017-05-15'

Следующий шаг - сообщить ему, какой элемент тянуть, но я сначала пытаюсь исправить эту ошибку и как бы крутить здесь свои колеса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...