Зачем нужны парсеры

Допу­стим, вы вели­кий учё­ный и дела­е­те науч­ную рабо­ту: напри­мер, иссле­ду­е­те, как люди обща­ют­ся в интер­не­те. Или как прес­са пишет на какую-то тему. Или как раз­ные ком­па­нии мани­пу­ли­ру­ют ста­ти­сти­кой. В общем, вам для рабо­ты нужен боль­шой мас­сив инфор­ма­ции из интер­не­та.

Вы мог­ли бы дать зада­ние сво­им лабо­ран­там: «Ходи­те по этим сай­там и соби­рай­те с них копи­па­с­том нуж­ные дан­ные». Не самый эле­гант­ный спо­соб, но рабо­чий.

А мож­но вме­сто лабо­ран­тов поса­дить за это дело скрипт: он будет рабо­тать намно­го быст­рее, а дан­ных собе­рёт намно­го боль­ше. Глав­ное — обу­чить его пра­виль­но­му пар­син­гу.

Что за парсинг

Пар­синг — это когда вы берё­те мас­сив дан­ных и рас­кла­ды­ва­е­те его на нуж­ные вам состав­ля­ю­щие. Напри­мер, берё­те стра­ни­цу това­ра в интернет-магазине и доста­ё­те с неё цену.

Пар­сер — это про­грам­ма, кото­рая зани­ма­ет­ся пар­син­гом по опре­де­лён­ным пра­ви­лам. На вход она полу­ча­ет дан­ные или направ­ле­ние для поис­ка, и она сре­ди них нахо­дит нуж­ное и оформ­ля­ет это, как нам надо.

Что можно парсить

Вытас­ки­вать со стра­ниц и соби­рать мож­но всё, что есть в интер­не­те:

  • ката­ло­ги това­ров,
  • дан­ные из соц­се­тей,
  • вакан­сии на дос­ках объ­яв­ле­ний,
  • инфор­ма­цию кон­ку­рен­тов,
  • ссыл­ки на доку­мен­та­цию.

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

Так­же полез­но пом­нить, что мно­гие сай­ты запре­ща­ют у себя пар­синг и будут ста­рать­ся тех­ни­че­ски его огра­ни­чить. Напри­мер, на «Ави­то» теле­фон поку­па­те­ля выво­дит­ся толь­ко после кли­ка по кноп­ке, — это один из спо­со­бов защи­тить ваши дан­ные от пар­син­га.

Идеи для парсинга

Телеграм-бот, кото­рый каж­дое утро при­сы­ла­ет вам про­гноз пого­ды. Для это­го он идёт на погод­ный сайт и пар­сит с него нуж­ные дан­ные.

Сле­диль­щик за ценой това­ра на сай­те. Настра­и­ва­е­те его каж­дый день ходить на нуж­ный сайт и смот­реть, как меня­ет­ся цена. Как толь­ко цена упа­дёт до нуж­но­го вам пока­за­те­ля, вам при­хо­дит уве­дом­ле­ние.

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

Инфор­мер для борь­бы с угне­те­ни­ем: настра­и­ва­е­те пар­сер на клю­че­вые сло­ва, кото­рые исполь­зу­ют­ся для угне­те­ния чего-то, что близ­ко ваше­му серд­цу. Натрав­ли­ва­е­те пар­сер на фору­мы и сай­ты, где может слу­чать­ся угне­те­ние. Полу­ча­е­те спи­сок стра­ниц, где про­ис­хо­дит угне­те­ние. Но не забы­вай­те, что если вы натра­ви­ли на что-то пар­сер, то это счи­та­ет­ся трав­лей.

Что дальше

Ско­ро мы попрак­ти­ку­ем­ся — напи­шем пар­сер, кото­рый будет брать с глав­ной стра­ни­цы наше­го Кода назва­ния всех ста­тей и выво­дить их отдель­ным спис­ком. Может, даже и ссыл­ки к ним при­кру­тим.