CoderCastrov logo
CoderCastrov
Парсер

Будет ли работать этот код? Что не так с большинством кода для парсинга веб-сайтов

Будет ли работать этот код? Что не так с большинством кода для парсинга веб-сайтов
просмотров
1 мин чтение
#Парсер
Table Of Content

Этот код парсит объявления Airbnb и выводит их.

# -*- coding: utf-8 -*-
from bs4 import BeautifulSoup
import requestsheaders = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/601.3.9 (KHTML, like Gecko) Version/9.0.2 Safari/601.3.9'}
url = 'https://www.airbnb.co.in/s/New-York--NY--United-States/homes?query=New York, NY, United States&checkin=2020-03-12&checkout=2020-03-19&adults=4&children=1&infants=0&guests=5&place_id=ChIJOwg_06VPwokRYv534QaPC8g&refinement_paths[]=/for_you&toddlers=0&source=mc_search_bar&search_type=unknown'response=requests.get(url,headers=headers)
soup=BeautifulSoup(response.content,'lxml')
for item in soup.select('[itemprop=itemListElement]'):
	try:
		print('----------------------------------------')
		print(item.select('a')[0]['aria-label'])
		print(item.select('a')[0]['href'])
		print(item.select('._krjbj')[0].get_text())
		print(item.select('._krjbj')[1].get_text())
		print(item.select('._16shi2n')[0].get_text())		print(item.select('._zkkcbwd')[0].get_text())
		print(name)		print('----------------------------------------')
	except Exception as e:
		#raise e
		print('')

Когда вы сохраните его как scrapeAirbnb.py и запустите, он получит детали.

python3 [**scrapeAirbnb.py**](http://scrapeairbnb.py/)

Итак, работа выполнена? Финито?

Далеко не так. Если это должно быть запущено в продакшн, на достаточно высоком уровне масштабирования, вам понадобятся все виды механизмов, чтобы убедиться, что это может функционировать без сбоев.

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

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

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

Если вам нужно облачное программное обеспечение для парсинга, которое может делать все это и многое другое за кулисами надежным образом, вы можете рассмотреть использование нашего продукта TeraCrawler.io для парсинга больших наборов URL-адресов. Для преодоления блокировок IP я рекомендую использовать наш другой продукт Proxies API, который является API поворотных прокси и может маршрутизировать ваши запросы через пул из более чем 2 миллионов IP-адресов, практически исключая блокировки IP.