1. 程式人生 > >python網絡爬蟲筆記(九)

python網絡爬蟲筆記(九)

out 模塊 ade npe tex visible 代碼 端口號 pac

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){

}
}

}

python網絡爬蟲筆記(九)