python ieee关键字额外

时间:2019-02-20 05:09:05

标签: python web-crawler

我希望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)

0 个答案:

没有答案