python网络爬虫笔记(九)

4.1.1 urllib2 和urllib是两个不一样的模块

     urllib2最简单的就是使用urllie2.urlopen函数使用如下 

    urllib2.urlopen(url[,data[,timeout[,cafile[,capath[,cadefault[,context]]]]]])  按照文档urllib2.urlopen可以打开HTTP HTTPS FTP协议的URL链接地址,主演使用HTTP协议,他的参数以ca开头的都是跟身份验证有关,不常使用,data参数是post方法提交URL时使用,常用的是timeout参数,url参数是提交网络地址全称,前端是协议名,后端是端口号,timeout是超时时间设置,

函数返回对象有三个额外使用方法,geturl()函数返回的response的url信息,常用于重定向的情况,info()函数返回的response的基本信息, getcode()函数返回的response的状态代码,200成功, 404页面不存在, 503服务器暂时不可用,

刚开始,导入得模块是urllib2,但是运行出错,因为urllib在python3.0以上的版本使用的模块是urllib.request模块。响应的就要导入词模块。在print中也存在差别,write中使用的是String类型。也要做更改。才能正确执行。

另外就是要说明一点,在Linux中使用的vi 进行编程 前面必须添加声明语句,如果要调用模块必须导入响应的模块、

#!/usr/bin/env python
#-*- coding: utf-8 -*-

 package com.tian;
import java.io.*;
import java.util.*;
import javax.swing.*;
import java.awt.Font;
import java.awt.event.*;
public class QuizCardBuilder {
    private JTextArea question;
    private JTextArea answer;
    private JFrame frame;
//    private ArrayList<QuizCard> cardList;
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        QuizCardBuilder builder=new QuizCardBuilder();
        builder.go();
    }
    public void go(){
        frame=new JFrame("Quiz Card Builder");
        JPanel mainPanel=new JPanel();
        Font bigFont=new Font("sanserif",Font.BOLD,23);
        question=new JTextArea(6,23);
        question.setLineWrap(true);
        question.setWrapStyleWord(true);
        question.setFont(bigFont);
        JScrollPane qScroller=new JScrollPane(question);
        qScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
        qScroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        answer=new JTextArea(6,20);
        answer.setLineWrap(true);
        answer.setWrapStyleWord(true);
        answer.setFont(bigFont);
        JScrollPane aScroller=new JScrollPane(answer);
        aScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
        aScroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        JButton nextbutton=new JButton("next button");
//        cardList=new ArrayList<QuizCard>();
        JLabel qLabel=new JLabel("Question");
        JLabel aLabel=new JLabel("Answer");
        mainPanel.add(qLabel);
        mainPanel.add(qScroller);
        mainPanel.add(aLabel);
        mainPanel.add(aScroller);
        mainPanel.add(nextbutton);
        nextbutton.addActionListener(new NextCardListener());
        JMenuBar menuBar=new JMenuBar();
        JMenu fileMenu=new JMenu("File");
        JMenuItem newMenuItem=new JMenuItem("new");
        JMenuItem saveMenuItem=new JMenuItem("save");
        newMenuItem.addActionListener(new NewMenuListener());
        saveMenuItem.addActionListener(new SaveMenuListener());
        fileMenu.add(newMenuItem);
        fileMenu.add(saveMenuItem);
        fileMenu.add(fileMenu);
        menuBar.add(fileMenu);
        frame.setJMenuBar(menuBar);
        frame.getContentPane().add(BroderLayout,mainPanel);
        frame.setSize(200,200);
        frame.setVisible(true);
    }
    
    public class  NextCardListener implements ActionListener{
        public void actionPerformed(ActionListener ev){
            QuizCard card=new QuizCard(question.getText(),answer.getText());
            cardList.add(card);
            clearCard();
        }
    }
    public class SaveMenuListener implements ActionListener{
         public void actionPerformed(ActionListener ev){
            
         }
    }

}

 

转载于:https://www.cnblogs.com/xinxianquan/p/8678815.html

import java.util.*; import java.awt.event.*; import javax.swing.*; import java.awt.*; import java.io.*; public class QuizCardBuilder{ private JTextArea question; private JTextArea answer; private ArrayList cardList; private JFrame frame; public static void main(String[] args){ QuizCardBuilder builder=new QuizCardBuilder(); builder.go(); } public void go(){ frame=new JFrame("Quiz Card Build"); JPanel mainPanel=new JPanel(); Font bigFont=new Font("sanserif",Font.BOLD,24); question=new JTextArea(6,20); question.setLineWrap(true); question.setWrapStyleWord(true); question.setFont(bigFont); JScrollPane qScroller=new JScrollPane(question); qScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); qScroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); answer=new JTextArea(6,20); answer.setLineWrap(true); answer.setWrapStyleWord(true); answer.setFont(bigFont); JScrollPane aScroller=new JScrollPane(answer); qScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); qScroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); JButton nextButton=new JButton("Next Card"); cardList=new ArrayList(); JLabel qLabel=new JLabel("Question:"); JLabel aLabel=new JLabel("Answer"); mainPanel.add(qLabel); mainPanel.add(qScroller); mainPanel.add(aLabel); mainPanel.add(aScroller); mainPanel.add(nextButton); nextButton.addActionListener(new NextCardListener()); JMenuBar menuBar=new JMenuBar(); JMenu fileMenu=new JMenu("File"); JMenuItem newMenuItem=new JMenuItem("new"); JMenuItem saveMenuItem=new JMenuItem("save"); newMenuItem.addActionListener(new NewMenuListener()); saveMenuItem.addActionListener(new SaveMenuListener()); fileMenu.add(newMenuItem); fileMenu.add(saveMenuItem); menuBar.add(fileMenu); frame.setJMenuBar(menuBar); frame.getContentPane().add(BorderLayout.CENTER,mainPanel); frame.setSize(500,600); frame.setVisible(true); } public class NextCardListener implements ActionListener{ public void actionPerformed(ActionEvent ev){ QuizCard card=new QuizCard(question.getText(),answer.getText()); cardList.add(card); clearCard(); } } public class SaveMenuListener implements ActionListener{ public void actionPerformed(ActionEvent ev){ QuizCard card=new QuizCard(question.getText(),answer.getText()); cardList.add(card); JFileChooser fileSave=new JFileChooser(); fileSave.showSaveDialog(frame); saveFile(fileSave.getSelectedFile()); } } public class NewMenuListener implements ActionListener{ public void actionPerformed(ActionEvent ev){ cardList.clear(); clearCard(); } } private void clearCard(){ question.setText(" "); answer.setText(" "); question.requestFocus(); } private void saveFile(File file){ try{ BufferedWriter writer=new BufferedWriter(new FileWriter(file)); for(QuizCard card:cardList){ writer.write(card.getQuestion()+"/"); writer.write(card.getAnswer()+"\n"); } writer.close(); }catch(IOException ex){ System.out.println("couldn't write the cardList out"); ex.printStackTrace(); } } } public class QuizCard { String question; String answer; public QuizCard(String q,String a){ question=q; question=a; } public String getQuestion(){ return question; } public String getAnswer(){ return answer; } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值