【发布时间】:2014-11-28 18:15:03
【问题描述】:
我有这段代码可以获取网页中的所有链接:
from scrapy.spider import Spider
from scrapy import Selector
from socialmedia.items import SocialMediaItem
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
class MySpider(Spider):
name = 'smm'
allowed_domains = ['*']
start_urls = ['http://en.wikipedia.org/wiki/Social_media']
def parse(self, response):
items = []
for link in response.xpath("//a"):
item = SocialMediaItem()
item['SourceTitle'] = link.xpath('/html/head/title').extract()
item['TargetTitle'] = link.xpath('text()').extract()
item['link'] = link.xpath('@href').extract()
items.append(item)
return items
我想做以下事情: 1)不是获取所有链接,而是只获取出站链接,或者至少只获取那些以 http/s 开头的链接 2) 按照出站链接 3)只有在元数据中包含一些关键字时才抓取下一个网页 4)对给定数量的循环重复整个过程 任何人都可以帮忙吗? 干杯!
丹妮
【问题讨论】:
-
感谢您提出一个单独的问题,而不是尝试在 cmets 中解决一个单独的问题来解决不同问题的答案。
-
不客气?你能帮忙吗?
标签: python web-scraping scrapy scrape