gpt4 book ai didi

python - 使用查询抓取网页

转载 作者:太空宇宙 更新时间:2023-11-04 08:46:05 25 4
gpt4 key购买 nike

我正在尝试从特定网站或整个网络中抓取期刊的影响因子。我一直在寻找一些接近但运气不好的东西..

这是我第一次尝试使用 python 进行网络抓取。我试图找到最简单的方法。

我有一个属于期刊的 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 或网络中搜索。然后找到各个网页,搜索 Impact Factor 2015 并检索值,将其放在 ISSN 编号旁边的空白处,并将检索到的 URL 放在它旁边

这样网络搜索也可以限制在一个站点和一个关键字搜索值..空的可以保留为“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的官方文档还是不错的。如果您是新手,我建议您花一个小时阅读文档,然后再尝试编写一些代码。花在阅读文档上的时间将为您节省更多时间。

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

关于python - 使用查询抓取网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40436555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com