дополнительные ключевые слова Python IEee - PullRequest
0 голосов
/ 20 февраля 2019

Я хочу, чтобы s был словарём, затем я могу выбрать нужную информацию, я пробую ваш код. У меня есть ссылка 7862, нужно найти ключевое слово и doi, но эту ссылку 7862, которую я пытался найти, некоторые не будутполучить информацию, которую я хочу, и сообщить об ошибке, так как вы поступите об этой ситуации?Вот мой полный код.

Я думаю, что нашел его фокус.Это ошибка регулярного выражения.Он относится к соответствующей части.Точного совпадения нет.Например, это может соответствовать

https://ieeexplore.ieee.org/document/8479309

, но это не работает

https://ieeexplore.ieee.org/document/8613142

код здесь

import requests
from bs4 import BeautifulSoup
import json
import re
from elasticsearch import Elasticsearch
import random
import logging
from datetime import datetime
import time

ieee_content = requests.get(link, timeout=180)
soup = BeautifulSoup(ieee_content.text, 'xml')
tag = soup.find_all('script')

try:
    metadata = "".join(re.findall('global.document.metadata=(.*)', tag[9].text)).replace(
                    ";", '').replace('global.document.metadata=', '')
    data = json.loads(metadata)
    print('!')
except :
    print('!@!@')
try:
   doi = 'https://doi.org/' + ''.join(data['doi'])
   links.append(doi)
except:
   pass

try:
    keywords = data["keywords"][0]['kwd']
except:
    keywords = []
try:
    date = datetime.strptime(data["journalDisplayDateOfPublication"], "%d %B %Y")
except:
    pass

es.update(index='item', doc_type='ieee', id=esid,
         body={'doc': {'links': links, 'keywords': keywords, "published": date}},
                           request_timeout=1900)

print('upload %s' % esid)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...