Python 3 Как чистить / сканировать на Specifi c Домены? - PullRequest
0 голосов
/ 09 февраля 2020

Я хочу очистить все URL / текстовое содержимое и сканировать на указанных c доменах.

Я видел метод очистки URL-адресов ( получение ссылок с веб-страницы с использованием python и BeautifulSoup )

Я также попробовал следующий код пребывания на указать c доменов, но, похоже, он не работает полностью.

domains = ["newyorktimes.com", etc]
p = urlparse(url)
print(p, p.hostname)
if p.hostname in domains:
    pass
else:
    return []

#do something with p

Моя главная проблема - убедиться, что сканер остается в указанном домене, но я не уверен, как это сделать, когда URL могут иметь разные пути / фрагменты. Я знаю, как почистить URL с данного сайта. Я открыт для использования BeautifulSoup, l xml, scrapy, et c

Этот вопрос может быть слишком широким, но я попытался найти информацию о сканировании в указанных c доменах, но Я не могу найти слишком релевантные материалы: /

Любая помощь / ресурсы будут высоко оценены!

Спасибо

1 Ответ

0 голосов
/ 10 февраля 2020

Попробуйте это.

from simplified_scrapy.spider import Spider, SimplifiedDoc
class MySpider(Spider):
  name = 'newyorktimes.com'
  allowed_domains = ['newyorktimes.com','nytimes.com']
  # concurrencyPer1s=1
  start_urls = 'https://www.newyorktimes.com'
  refresh_urls = True # For debug. If efresh_urls = True, start_urls will be crawled again.

  def extract(self, url, html, models, modelNames):
    doc = SimplifiedDoc(html)
    lstA = doc.listA(url=url['url'])
    return {"Urls": lstA, "Data": None} # Return data to framework

from simplified_scrapy.simplified_main import SimplifiedMain
SimplifiedMain.startThread(MySpider()) # Start crawling

Вот еще примеры: https://github.com/yiyedata/simplified-scrapy-demo/tree/master/spider_examples

...