国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python網(wǎng)絡(luò)編程學習筆記(六):Web客戶端訪問

2020-02-23 05:27:16
字體:
供稿:網(wǎng)友

6.1 最簡單的爬蟲

網(wǎng)絡(luò)爬蟲是一個自動提取網(wǎng)頁的程序,它為搜索引擎從萬維網(wǎng)上下載網(wǎng)頁,是搜索引擎的重要組成。python的urllib/urllib2等模塊很容易實現(xiàn)這一功能,下面的例子實現(xiàn)的是對baidu首頁的下載。具體代碼如下:

代碼如下:
import urllib2
page=urllib2.urlopen("http://www.baidu.com")
print page.read()

6.2 提交表單數(shù)據(jù)

(1)用GET方法提交數(shù)據(jù)
提交表單的GET方法是把表單數(shù)據(jù)編碼至URL。在給出請示的頁面后,加上問號,接著是表單的元素。如在百度中搜索“馬伊琍”得到url為http://www.baidu.com/s?wd=%E9%A9%AC%E4%BC%8A%E7%90%8D&pn=100&rn=20&ie=utf-8&usm=4&rsv_page=1。其中?后面為表單元素。wd=%E9%A9%AC%E4%BC%8A%E7%90%8D表示搜索的詞是“馬伊琍”,pn表示從第100條信息所在頁開始顯示(感覺是這樣,我試了幾次,當寫100時,從其所在頁顯示,但如果寫10,就是從第1頁顯示),rn=20表示每頁顯示20條,ie=utf-8表示編碼格式,usm=4沒明白是什么意思,換了1、2、3試了下,沒發(fā)現(xiàn)什么變化,rsv_page=1表示第幾頁。如果要下載以上頁面比較簡單的方法是直接用上面的網(wǎng)址進行提取。如代碼:

代碼如下:
import urllib2
keyword=urllib.quote('馬伊琍')
page=urllib2.urlopen("http://www.baidu.com/s?wd="+keyword+"&pn=100&rn=20&ie=utf-8&usm=4&rsv_page=1")
print page.read()

(2)用post方法提交

GET方法中,數(shù)據(jù)是被加到URL上,這種方法數(shù)據(jù)量要求不大,如果需要交換大量數(shù)據(jù)的時間,POST方法是一個很好的方法。這里以前段時間寫的博客《python模擬163登陸獲取郵件列表》為例,具體代碼不在列出,詳見地址:http://www.cnblogs.com/xiaowuyi/archive/2012/05/21/2511428.html。

6.3 urllib,urllib2,httplib,mechanize的介紹
6.3.1urllib模塊(引自:http://my.oschina.net/duhaizhang/blog/68893)
urllib模塊提供接口可以使我們像訪問本地文件一樣來讀取www和ftp上的數(shù)據(jù)。模塊中最重要的兩個函數(shù)分別是:urlopen()和urlretrieve()。

urllib.urlopen(url[, data[, proxies]]) :
本函數(shù)創(chuàng)建一個表示遠程url的類文件對象,然后像本地文件一樣操作這個類文件對象來獲取遠程數(shù)據(jù)。參數(shù)url表示遠程數(shù)據(jù)的路徑,一般是網(wǎng)址;參數(shù)data表示以post方式提交到url的數(shù)據(jù);參數(shù)proxies用于設(shè)置代理。urlopen返回 一個類文件對象,返回的類文件對象提供了如下方法:

read(), readline(), readlines(), fileno(), close():這些方法的使用方式與文件對象完全一樣;
info():返回一個httplib.HTTPMessage對象,表示遠程服務(wù)器返回的頭信息;
getcode():返回Http狀態(tài)碼。如果是http請求,200表示請求成功完成;404表示網(wǎng)址未找到;
geturl():返回請求的url;

代碼如下:
#! /usr/bin/env python
#coding=utf-8
import urllib
content=urllib.urlopen("http://www.baidu.com")

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 四川省| 齐齐哈尔市| 苏尼特左旗| 衡山县| 枞阳县| 鄂伦春自治旗| 渭南市| 丰镇市| 汽车| 溧阳市| 静宁县| 久治县| 长丰县| 郓城县| 炎陵县| 广东省| 扬州市| 东阿县| 长武县| 三门峡市| 内乡县| 临汾市| 高州市| 阿尔山市| 延安市| 台东县| 呼和浩特市| 隆安县| 航空| 阿坝| 壶关县| 辽宁省| 雅江县| 马边| 陇南市| 海阳市| 宁河县| 安化县| 武乡县| 泾川县| 图木舒克市|