Python 使用查询刮取web

Python 使用查询刮取web,python,pandas,web-scraping,screen-scraping,Python,Pandas,Web Scraping,Screen Scraping,我试图从一个特定的网站或整个网站上获取期刊的影响因素。我一直在寻找一些接近但运气不好的东西 这是我第一次尝试用python进行web刮取。我正试图找到最简单的方法 我有一个属于期刊的ISSN编号列表,我想从web或特定站点检索它们的影响因子值。该列表有超过50K个值,因此手动搜索这些值实际上很困难 输入类型 Index,JOURNALNAME,ISSN,Impact Factor 2015,URL,ABBV,SUBJECT 1,4OR-A Quarterly Journal of Operati

我试图从一个特定的网站或整个网站上获取期刊的影响因素。我一直在寻找一些接近但运气不好的东西

这是我第一次尝试用python进行web刮取。我正试图找到最简单的方法

我有一个属于期刊的ISSN编号列表,我想从web或特定站点检索它们的影响因子值。该列表有超过50K个值,因此手动搜索这些值实际上很困难

输入类型

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中搜索。然后找到各个网页,搜索
影响因素2015
,检索值,将其放在ISSN编号旁边的空白处,并将检索到的URL放在其旁边

因此,web搜索也可以限制为一个站点和一个关键字搜索值。。空的可以保留为“NAN”


提前感谢您的建议和帮助

使用beautiful soup和urllib2尝试此代码。我正在使用h2标记并搜索“Journal Impact:”,但我会让您决定提取数据的算法。html内容存在于soup中,soup提供了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
我认为《美丽的汤》的官方文件相当不错。如果您是新手,我建议您在编写代码之前花一个小时编写文档。花在阅读文档上的那一小时将为您节省更多的时间


使用beautiful soup和urllib2尝试此代码。我正在使用h2标记并搜索“Journal Impact:”,但我会让您决定提取数据的算法。html内容存在于soup中,soup提供了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
我认为《美丽的汤》的官方文件相当不错。如果您是新手,我建议您在编写代码之前花一个小时编写文档。花在阅读文档上的那一小时将为您节省更多的时间


请检查web刮片库中的python,如beautifulsoup或scrapy。还有大量的优秀教程。我认为熊猫标签有点不适合你的问题。完成刮削后,熊猫会很有用。@su79eu7k谢谢你的建议。。但这样的事情可能实现吗?根据博客文章:“任何可以在网页上查看的内容都可以被刮除。句号。”现在,在某些情况下,这样做可能非常困难,但对于像您上面这样的网站,这肯定是可行的。请检查网页刮除库,以获取类似beautifulsoup或scrapy的python。还有大量的优秀教程。我认为熊猫标签有点不适合你的问题。完成刮削后,熊猫会很有用。@su79eu7k谢谢你的建议。。但这样的事情有可能实现吗?根据博文:“任何可以在网页上查看的内容都可以被删除。句号。”现在,在某些情况下,这样做可能非常困难,但对于像你上面这样的网站,这肯定是可行的。非常感谢。。让我运行脚本并回复评论。。再次感谢..在我的情况下,我有一个ISSN号码列表,没有URL可供参考。。主站点是已知的
researchgate.net
,而不是可以从中获取
期刊影响的单个URL。这里它是从给定的URL抓取的。因此,我可以在这方面提供帮助。您可以使用ISSN创建URL。我已将答案更新为使用ISSN创建URL。这有帮助吗?这看起来很有效但是。。让我再跑一次。。我有一个csv文件,它有3列,其中一列是ISSN编号。。因此,我们从csv列中读取ISSN编号。在
researchgate.net
网站中搜索,然后在ISSN编号旁边写下相应的
影响因素
值和URL,作为输出CSV中的新列。那些没有值的可以称为NAN。这就是我想做的你走对了。享受编写代码的乐趣:)…完成后一定要发布代码..在问题中作为最终答案..非常感谢。。让我运行脚本并回复评论。。再次感谢..在我的情况下,我有一个ISSN号码列表,没有URL可供参考。。主站点是已知的
researchgate.net
,而不是可以从中获取
期刊影响的单个URL。这里它是从给定的URL抓取的。因此,我可以在这方面提供帮助。您可以使用ISSN创建URL。我已将答案更新为使用ISSN创建URL。这有帮助吗?这看起来很有效但是。。让我再跑一次。。我有一个csv文件,它有3列,其中一列是ISSN编号。。因此,我们从csv列中读取ISSN编号。在
researchgate.net
网站中搜索,然后在ISSN编号旁边写下相应的
影响因素
值和URL,作为输出CSV中的新列。那些没有值的可以称为NAN。这就是我想做的你走对了。享受编写代码的乐趣:)…完成后一定要发布代码..在问题中作为最终答案。。。。