我的问题实际上是如何做与上一个问题相同的事情,但在Scrapy 0.14中。
Using one Scrapy spider for several websites
基本上,我有一个图形用户界面,如域,关键字,标签名称等参数,我想创建一个通用的蜘蛛来爬行这些领域的那些关键字在那些标签。我使用旧版本的scrapy,通过覆盖爬行器管理器类或动态创建爬行器,读取了冲突的内容。哪种方法是首选的,我如何实现和调用适当的解决方案?提前谢谢。
下面是我想要泛型的代码。它还使用BeautifulSoup。我对它进行了配对,所以希望没有删除任何关键的东西来理解它。
class MySpider(CrawlSpider):
name = 'MySpider'
allowed_domains = ['somedomain.com', 'sub.somedomain.com']
start_urls = ['http://www.somedomain.com']
rules = (
Rule(SgmlLinkExtractor(allow=('/pages/', ), deny=('', ))),
Rule(SgmlLinkExtractor(allow=('/2012/03/')), callback='parse_item'),
)
def parse_item(self, response):
contentTags = []
soup = BeautifulSoup(response.body)
contentTags = soup.findAll('p', itemprop="myProp")
for contentTag in contentTags:
matchedResult = re.search('Keyword1|Keyword2', contentTag.text)
if matchedResult:
print('URL Found: ' + response.url)
pass
https://stackoverflow.com/questions/9814827
复制相似问题