python3.7 使用抓取网页,链接数据库

可用方法举例

#!/usr/bin/env python 

# -*- coding:utf-8 -*-


import http.cookiejar
import urllib.request
import re
import sys
import pymysql
import os
import cx_Oracle
from bs4 import BeautifulSoup


def open_url_get_html(url):
    response = urllib.request.urlopen(url)
    return_code = response.getcode()
    if return_code == 200:
        html = response.read()
        return html
    else:
        return ''


if __name__ == "__main__":
    # 产生url
    url = 'https://stackoverflow.com/questions/50000000'
    # 获取数据
    html_doc = open_url_get_html(url)
    if html_doc == '':
        print("未获得返回html,退出程序")
        sys.exit(0)
    # print(html_doc)

    # 创建一个BeautifulSoup解析对象
    soup = BeautifulSoup(html_doc, "html.parser", from_encoding="utf-8")
    # 获取所有的链接
    links = soup.find_all('a')

    # 获取某些类
    question = soup.find_all("a", class_="question-hyperlink")
    question_content = soup.find_all("div", class_="post-text")

    print(question)

    # 打开数据库连接
    db = pymysql.connect("127.0.0.1", "root", "123456", "userinfo")
    # 使用 cursor() 方法创建一个游标对象 cursor
    cursor = db.cursor()

    # 使用 execute()  方法执行 SQL 查询
    cursor.execute("SELECT VERSION()")

    # 使用 fetchone() 方法获取单条数据.
    data = cursor.fetchone()

    print("Database version : %s " % data)

    # 关闭数据库连接
    db.close()


    conn = cx_Oracle.connect('用户名/密码@主机ip地址/orcl')  # 用自己的实际数据库用户名、密码、主机ip地址 替换即可
    curs = conn.cursor()
    sql = 'SELECT 1 FROM dual'  # sql语句
    rr = curs.execute(sql)
    row = curs.fetchone()
    print(row[0])
    curs.close()
    conn.close()

  
    展开阅读全文