У фрилансеров есть серьёзная проблема: они принимают решения самостоятельно. Редко какой из фрилансеров способен работать на вас в течение долгого времени. Они устраиваются на работу получше, или прекращают рисовать, или делают графику, но для кого-то другого, или просто перестают отвечать на письма.
Я фрилансер и вот это описание почему-то мне подсказывает, что автор оригинальной статьи жадный и мудак, с которым никто не хочет работать второй раз.
Пишутся слитно прилагательные с «не», если они приобретают противоположное значение с «не». В таких случаях, как правило, их можно заменить синонимом без «не». Например: неправильный — ошибочный.
Я уже почти 5 лет скитаюсь по ЮВА и, в самом начале моего «путешествия», я старался селиться как можно ближе к морю. Вся проблема в том, что в данной части света, рядом с морем, в основном можно найти только бунгало из говна и палок (если это будет что-то более капитальное, то оно все равно будет из говна и палок), а в таких помещениях, из-за близости к морю, стоит дикая влажность и вся электроника, особенно если ею не очень часто пользоваться, быстро выходит из строя.
Пример простой задачи.
Есть сайт https://www.complyfoam.com/ и при нажатии на кнопку «FIND TIP BY BRAND» появляется список, который нам необходимо спарсить.
1. Открываем инструменты разработчика в браузере (Ctrl+Shift+I) и переходим на вкладку Network
2. Жмем кнопку «FIND TIP BY BRAND» на странице и находим нужный нам запрос. В данном случае это GET запрос, который возвращает JSON
Скриншот
3. Так как сайт очень простой, то нас будет интересовать только поле Request URL: complytipfinder.com/index.php/api/manufactures, которое мы будем использовать при запросе.
4. Пишем код:
>>> import requests
>>> url = 'https://complytipfinder.com/index.php/api/manufactures'
>>> r = requests.get(url)
>>> data = [x['name'] for x in r.json()]
>>> data[:5]
['Acoustic Research ', 'Altec Lansing®', 'Apple®', 'Atomic Floyd™', 'Audéo Phonak']
Да, эмулировать браузер порой надо, особенно, если сайт написан на каком-нибудь ангуляре или ноде
Часто достаточно просто requests, даже без bs4. Если на сайте используются csrf токены или это же, прости господи, .NET с кучей скрытых инпутов, то тогда все просто решается связкой requests.Session + lxml (или bs4, кому что больше нравится, но lxml раз в десять быстрее).
но для этого PhantomJS хватит за глаза и уши
PhantomJS — не самый лучший вариант:
1. Уже больше года не поддерживается
2. Chrome, на данный момент, в связке с selenium, работает шустрее остальных популярных браузеров.
1. Использьвание selenium в большинстве случаев избыточно и зачастую говорит о том, что автор сего творения «не в теме». Гораздо продуктивнее смодулировать GET/POST запросы и сразу получить все данные в готовом виде (зачастую это будет JSON). requests вам в помощь.
2. Не стоит использовать нативные средства selenium для того, чтобы собрать данные (.find_elements_by_tag и пр.). Лучше скормить innerHTML в какой-нибудь более приличный парсер (lxml или bs4), тем самым вы ускорите работу своего скрапера раза в три. Более подробно здесь.
Когда ещё использовал диски решил эту проблему при помощи LightScribe Direct Disc Labeling
Я фрилансер и вот это описание почему-то мне подсказывает, что автор оригинальной статьи жадный и мудак, с которым никто не хочет работать второй раз.
source
Заголовок некорректный, должно быть «Налогоплательщики заплатили 415 тыс. руб. за незаконные действия Роскомнадзора».
В этом случае главное правильно выбрать место жительство — не меньше, чем 500 м от моря, иначе, всей технике очень быстро приходит капец.
Есть сайт https://www.complyfoam.com/ и при нажатии на кнопку «FIND TIP BY BRAND» появляется список, который нам необходимо спарсить.
1. Открываем инструменты разработчика в браузере (Ctrl+Shift+I) и переходим на вкладку Network
2. Жмем кнопку «FIND TIP BY BRAND» на странице и находим нужный нам запрос. В данном случае это GET запрос, который возвращает JSON
3. Так как сайт очень простой, то нас будет интересовать только поле Request URL: complytipfinder.com/index.php/api/manufactures, которое мы будем использовать при запросе.
4. Пишем код:
Часто достаточно просто requests, даже без bs4. Если на сайте используются csrf токены или это же, прости господи, .NET с кучей скрытых инпутов, то тогда все просто решается связкой requests.Session + lxml (или bs4, кому что больше нравится, но lxml раз в десять быстрее).
PhantomJS — не самый лучший вариант:
1. Уже больше года не поддерживается
2. Chrome, на данный момент, в связке с selenium, работает шустрее остальных популярных браузеров.
2. Не стоит использовать нативные средства selenium для того, чтобы собрать данные (.find_elements_by_tag и пр.). Лучше скормить innerHTML в какой-нибудь более приличный парсер (lxml или bs4), тем самым вы ускорите работу своего скрапера раза в три. Более подробно здесь.