• 顶会热词1


    pycharm派取数据存入数据库

    Import requests
    import pymysql
    from bs4 import BeautifulSoup

    # 链接到本地数据库
    from jieba.analyse import extract_tags

    db = pymysql.connect(host='39.106.130.20', port=3306, user='php', password='545nb?', database='php', charset='utf8')

    cursor = db.cursor()

    # 定义头文件
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 "
                      "Safari/537.36 "
    }
    # get方法抓取数据
    # url="http://openaccess.thecvf.com/CVPR2019.py"
    url = "https://openaccess.thecvf.com/CVPR2019?day=2019-06-18"
    html = requests.get(url)
    # 使用 Beautiful Soup 解析网页
    soup = BeautifulSoup(html.content, 'html.parser')

    pdfs = soup.findAll("a", text="pdf")
    print(len(pdfs))

    lis = []
    jianjie = ""
    for i, pdf in enumerate(pdfs):
        pdf_name = pdf["href"].split('/')[-1]
        name = pdf_name.split('.')[0].replace("_CVPR_2019_paper", "")
        link = "https://openaccess.thecvf.com/content_CVPR_2019/html/" + name + "_CVPR_2019_paper.html"
        url1 = link
        print(url1)
        print(i)
        html1 = requests.get(url1)
        if html1:
            soup1 = BeautifulSoup(html1.content, 'html.parser')
            weizhi = soup1.find('div', attrs={'id': 'abstract'})
            if weizhi:
                jianjie = weizhi.get_text()
            authers = soup1.find_all(id="authors")
            # 论文编号
            a = authers[0].contents[3]
            a_split = a.split('.')  # 以点分割为数组
            code = a_split[1].strip()  # 去掉空格前后
            # 作者
            auther = soup1.find("i")
            myauther = auther.string
            keywordlist = []
            for keyword, weight in extract_tags(jianjie.strip(), topK=5, withWeight=True):
                keywordlist.append(keyword)
            keywordliststr = ','.join(keywordlist)
            info = {
                'title': name,
                'auther': myauther,
                'abstract': jianjie,
                'link': link,
                'code': code,
                'keywords': keywordliststr}
            print(info.values())
            lis.append(info)
    print(lis)

    cursor = db.cursor()
    for i in range(len(lis)):
        cols = ", ".join('`{}`'.format(k) for k in lis[i].keys())
        print(cols)  # '`name`, `age`'

        val_cols = ', '.join('%({})s'.format(k) for k in lis[i].keys())
        print(val_cols)  # '%(name)s, %(age)s'

        sql = "insert into lunwen(%s) values(%s)"
        res_sql = sql % (cols, val_cols)
        print(res_sql)

        cursor.execute(res_sql, lis[i])  # 将字典a传入
        db.commit()
        print("ok")

    数据库

  • 相关阅读:
    Java中的Java.lang.ThreadLocal类
    Java中线程的生命周期和状态
    Circular Linked List数据结构
    Linked List数据结构
    JVM如何工作
    JVM运行时数据区域
    queue数据结构
    stack数据结构
    Java中Set/HashSet的内部处理
    POJO,JavaBean 以及他们之间的区别
  • 原文地址:https://www.cnblogs.com/wang2232985989/p/14908458.html
Copyright © 2020-2023  润新知