2016-12-16 3 views
1

私はscrapyXPathを新しくしましたが、いつかはPythonでプログラミングしています。私は,name of the person making the offerおよびphone番号をページhttps://www.germanystartupjobs.com/job/joblift-berlin-germany-3-working-student-offpage-seo-french-market/からscrapyを使用して入手したいと考えています。ご覧のとおり、メールと電話は<p>タグ内のテキストとして提供されているため、抽出が困難です。scrapyを使用して職務説明を取得するには?

私の考えは最初name of the personJob Overview内あるいは少なくともすべてのテキストは、このそれぞれの仕事について話してemailを取得するためにReGexを使用し、phone number、可能な場合は、テキストを取得することです。

したがって、私はのコマンドをscrapy shell https://www.germanystartupjobs.com/job/joblift-berlin-germany-3-working-student-offpage-seo-french-market/で起動し、そこでresponseを取得します。

今、私は実際に何も得られない部門job_descriptionからすべてのテキストを取得しようとしています。私はそれは私が言及したページからすべてのテキストを取得するにはどうすればよい[u'\t\t\t\n\t\t ']

を返し

full_des = response.xpath('//div[@class="job_description"]/text()').extract() 

を使用しましたか?明らかに、前に述べた属性を得るためにタスクが後に来るでしょうが、最初に最初のものが最初にあります。

アップデート:この選択はあなたが実際にあなたが得るもののほか、任意のテキストを持っていない

full_des = response.xpath('//div[@class="job_description"]/text()').extract() 

div -tagに接近していた[]response.xpath('//div[@class="job_description"]/div[@class="container"]/div[@class="row"]/text()').extract()

enter image description here

+2

になります"セクション"。あなたはxpathクエリでそれをinluceするか、//を使用することができます。 div [@ class = "job_description"] // div [@ class = "container"]/..... – Borna

答えて

2

を返します。

<div class="job_description" (...)> 
    "This is the text you are getting" 
    <p>"This is the text you want"</p> 
</div> 

見ての通り、あなたがresponse.xpath('//div[@class="job_description"]/text()').extract()となっているテキストがないdiv -tag内部タグの間に、div -tagの間であるテキストです。このためには、必要があるでしょう:

response.xpath('//div[@class="job_description"]//*/text()').extract() 

これが何をするか、それが(別のXPathには何をすべきかについてhereを参照)div[@class="job_description]からすべての子供のノードを選択し、テキストを返します。

あなたはまだすべて\nなどを取得しているので、これは多くの役に立たないテキストも返します。このためには、幅広いアプローチを行うのではなく、必要な要素にxpathを絞り込むことをお勧めします。

たとえば、ジョブ全体の説明では、と呼ばれる一つの要素をスキップしてすぐに、[クラス=「コンテナ」@] DIVに行くのdiv [用=「job_description」@クラス]の後

response.xpath('//div[@class="col-sm-5 justify-text"]//*/text()').extract() 
+0

あなたの優しい答えをありがとう。私は 'http:// stackoverflow.com/questions/41194574/how-to-find-all-the-jobs-as-a-website'に答えて興味深いかもしれないフォローアップの質問を投稿した – Chak

関連する問題