Я ищу, чтобы очистить все URL / текстовое содержимое и сканировать на определенных доменах.
Я видел метод очистки URL ( получить ссылки с веб-страницы, используя Python и BeautifulSoup )
Я также попробовал следующий код пребывания на определенных доменах, но, похоже, он не работает полностью.
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, lxml, scrapy и т. Д.
Этот вопрос может быть слишком широким, но я попытался найти информацию о сканировании в определенных доменах, но не смог найти слишком релевантные материалы: /
Любая помощь / ресурсы будут с благодарностью!
Благодарность
Всего 1 ответ
Попробуй это.
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