2017-09-26 13 views
-2

Scapy1.4を使用して、一連のURLを指定してWebページからコンテンツをクロールします。ページからさまざまな情報(URL、タイトル、本文など)を抽出する方法についてのヘルプが必要です。Scrapyからウェブページ内のすべてのコンテンツを抽出する方法

現在、私は、次のURL

https://healthlibrary.epnet.com/GetContent.aspx?token=3bb6e77f-7239-4082-81fb-4aeb0064ca19&chunkiid=32905 

を使用していますが、私のコードは、そのようなXPath式を設定し、なぜ私が理解できない

class gsapocSpider(BaseSpider): 
    name = "gsapoc" 
    start_urls =["https://healthlibrary.epnet.com/GetContent.aspx?token=3bb6e77f-7239-4082-81fb-4aeb0064ca19&chunkiid=32905"] 
    def parse(self, response): 
     responseSelector = Selector(response) 
     for sel in responseSelector.xpath('//ul/li'): 
      item = GsapocItem() 
      item['title'] = sel.xpath('//ul/li/a/text()').extract() 
      item['link'] = sel.xpath('a/@href').extract() 
      item['body'] = sel.xpath('//body//p//text()').extract() 
      #item['text'] = sel.xpath('//text()').extract() 
      #body = response.xpath('//body//p//text()').extract() 
      #print(body) 
      yield item 

答えて

0

です。あなたのページにはul要素もありません。

URL、タイトル、本文を取得するだけです。ここにいくつかの提案があります:

  1. URLです。 URLはresponseからresponse.url
  2. というタイトルで取得できます。探しているタイトルの種類に応じて、titleタグと指定された要素の2つのオプションがあります。
  3. ボディ。あなたは全体のページかテキストだけを望みますか?前者の場合はresponse.bodyで、後者の場合はすべてのコンテンツの抽出方法を指定する必要があります。

とにかく、私はHTMLとXPathの知識が必要だと思います。

ありがとうございました。

関連する問題