Соскоб с помощью Python - PullRequest
       65

Соскоб с помощью Python

177 голосов
/ 17 января 2010

Я бы хотел получать ежедневное время восхода / захода солнца с веб-сайта. Можно ли очистить веб-контент с помощью Python? какие модули используются? Есть ли какое-нибудь учебное пособие?

Ответы [ 13 ]

0 голосов
/ 12 января 2018

Более новый ответ на этот вопрос. lxml стал предпочтительным способом очистки веб-страниц в Python. Не имеет зависимости от Twisted в отличие от скрапа. Также одобрено Автостопом по Python .

0 голосов
/ 30 апреля 2017

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

import requests ; from bs4 import BeautifulSoup

soup = BeautifulSoup(requests.get('https://www.flipkart.com/').text, "lxml")
for link in soup.select('div._2kSfQ4'):
    print(link.text)

Это частичные результаты поиска:

Puma, USPA, Adidas & moreUp to 70% OffMen's Shoes
Shirts, T-Shirts...Under ₹599For Men
Nike, UCB, Adidas & moreUnder ₹999Men's Sandals, Slippers
Philips & moreStarting ₹99LED Bulbs & Emergency Lights
0 голосов
/ 21 марта 2017

Вот простой веб-сканер, я использовал BeautifulSoup, и мы будем искать все ссылки (якоря) с именем класса _3NFO0d.Я использовал Flipkar.com, это интернет-магазин розничной торговли.

import requests
from bs4 import BeautifulSoup
def crawl_flipkart():
    url = 'https://www.flipkart.com/'
    source_code = requests.get(url)
    plain_text = source_code.text
    soup = BeautifulSoup(plain_text, "lxml")
    for link in soup.findAll('a', {'class': '_3NFO0d'}):
        href = link.get('href')
        print(href)

crawl_flipkart()
...