2016-11-05 4 views
0

私は、特定のウェブサイトまたはウェブ全体からのジャーナルの影響要因を削ぎ取ろうとしています。私は何かを探していたが、運が悪い。クエリでウェブをくりぬく

これは私がpythonでウェブスクレイプをしようとしている初めてのことです。私は最も簡単な方法を見つけようとしています。

私はISSN番号のリストがジャーナルに属しており、ウェブまたは特定のサイトからそのインパクトファクタ値を取得したいと考えています。リストには50,000を超える値があり、手動で値を検索するのは実用上困難です。

入力タイプ

Index,JOURNALNAME,ISSN,Impact Factor 2015,URL,ABBV,SUBJECT 
1,4OR-A Quarterly Journal of Operations Research,1619-4500,,,4OR Q J OPER RES,Management Science 
2,Aaohn Journal,0891-0162,,,AAOHN J, 
3,Aapg Bulletin,0149-1423,,,AAPG BULL,Engineering 
4,AAPS Journal,1550-7416,,,AAPS J,Medicine 
5,Aaps Pharmscitech,1530-9932,,,AAPS PHARMSCITECH, 
6,Aatcc Review,1532-8813,,,AATCC REV, 
7,Abdominal Imaging,0942-8925,,,ABDOM IMAGING, 
8,Abhandlungen Aus Dem Mathematischen Seminar Der Universitat Hamburg,0025-5858,,,ABH MATH SEM HAMBURG, 
9,Abstract and Applied Analysis,1085-3375,,,ABSTR APPL ANAL,Math 
10,Academic Emergency Medicine,1069-6563,,,ACAD EMERG MED,Medicine 

何が必要ですか?

上記の入力にはISSN番号の列があります。 ISSN番号を読んで、researchgate.netまたはウェブで検索してください。次に個々のWebページが見つかると、Impact Factor 2015が検索され、ISSN番号の横の空白の場所に値を取得し、検索したURLを隣に配置します。

ウェブ検索も1つのサイトと1つに限定することができます空の1が提案するために、事前に「NAN」として

感謝を維持し、私は本当にあなたが正確にこすりしたいのか理解していないが、私はあなたが必要だと思う

+1

beautifulsoupまたはscrapyなどのPython用のWebスクレイピングのライブラリを確認してください。そこには巨大なチュートリアルがあります。私はパンダのタグが少しあなたの質問には不適切だと思う。スクレイピングを終えた後、パンダは便利です。 – su79eu7k

+0

@ su79eu7kはじめにしていただきありがとうございます。しかし、このようなことは可能ですか? –

+0

[this](https://blog.hartleybrody.com/web-scraping/)のブログ記事によると:** "ウェブページで閲覧できるコンテンツはすべて抹消することができます。場合によってはそうするのは難しいかもしれませんが、あなたのようなサイトでは、それは確かに実行可能です。 – blacksite

答えて

3

美しいスープとurllib2のを使用してこのコードを試してみて、私はH2タグを使用して探しています。 『ジャーナルインパクト:』が、私は、あなたがデータを抽出するアルゴリズムを決定できるようになる。HTMLコンテンツが存在しているスープとスープでそれを抽出するためのAPIを提供します。私は何を提供することは一例であり、それはあなたのために働くことがあります。

#!/usr/bin/env python 

import urllib2 
from bs4 import BeautifulSoup 

issn = '0219-5305' 
url = 'https://www.researchgate.net/journal/%s_Analysis_and_Applications' % (issn) 
htmlDoc = urllib2.urlopen(url).read() 
soup = BeautifulSoup(htmlDoc, 'html.parser') 
for tag in soup.find_all('h2'): 
    if 'Journal Impact:' in tag.text: 
     value = tag.text 
     value = value.replace('Journal Impact:', '') 
     value = value.strip(' *') 
     print value 

出力:

1.13 

私は美しいスープの公式文書はかなり良いと思います。私はあなたがこれを初めて知っていれば、いくつかのコードを書こうとする前に、ドキュメントに1時間を費やすことを提案します。ドキュメントを読むのにかかる時間は、後でさらに多くの時間を節約します。

https://www.crummy.com/software/BeautifulSoup/ https://www.crummy.com/software/BeautifulSoup/bs4/doc/

+0

ありがとうございます。スクリプトは、コメントを返信する..再び感謝.. –

+0

私の場合は、ISSN番号のリストと参照するURLがありません。メインサイトは 'researchgate.net'と呼ばれ、' Journal Impact'が抹消されるURLはありません。ここでは、指定されたURLからスクレイピングしています。それで、その方向で助けてください。 –

+0

上記のコメントをご覧ください。 –

1

助けることができます。..値のキーワード検索BeautifulSoup

それパイソンの「SAのWebスクレイピングライブラリーそれはあなたが BeautifulSoup tutorial hereを見つけることができます使用することはとても簡単です

+0

ありがとう..洞察のために多くの..私が必要とするのは、私が明らかに疑問に思っていることです。そして、Webスクレイプで作業するのは初めてのことです。私ははるかに混乱しています –

関連する問題