Python Requests和urllib兩種方式下載網頁到本地
目標:針對網頁用requests和urllib兩種方式將檔案內容下載到本地txt檔案中。
網頁:百度首頁 http://www.baidu.com
Requests方式:
# -*-coding:UTF-8 -*-
import requests
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
def getWebPage(url):
try:
urlpage = requests.get(url)
except IOError:
print "IOError"
'''
urlpage.text中包含網頁的原始碼內容
'''
WebPageDownload(urlpage.text)
def WebPageDownload(text):
'''
將下載的網頁儲存到file.txt檔案中
'''
ff = open("baiduPageByRequests.txt",'w')
ff.writelines(text)
ff.close()
if __name__ == '__main__':
getWebPage(url='http://www.baidu.com')
urllib方式:
# -*-coding:UTF-8 -*-
from urllib import urlretrieve
def getWebPage(url):
try:
'''
urlretrieve函式會將url定位的網頁下載到臨時檔案中
'''
revtal = urlretrieve(url)[0]
except IOError:
revtal = None
if revtal:#如果revtal不為空的話,說明網頁下載成功了,那麼我們就可以去處理它了
saveWebPage(revtal)
def saveWebPage(webpage):
'''
將下載的網頁儲存到file.txt檔案中
'''
f = open(webpage)#將下載的臨時檔案開啟
lines = f.readlines()#將下載的網頁資訊儲存到lines中
f.close()#關閉檔案物件
fobj = open("baiduPageByurllib.txt",'w')#以寫的方式開啟file.txt,如果file.txt不存在,那麼將建立一個
fobj.writelines(lines)#將網頁資訊寫入file.txt中
fobj.close()#關閉檔案物件
if __name__ == '__main__':
getWebPage(url='http://www.baidu.com')
兩種方式都可以將網頁原始碼下載到本地,這是我們將來分析網頁或者做網頁爬蟲的第一步。
相關推薦
Python Requests和urllib兩種方式下載網頁到本地
目標:針對網頁用requests和urllib兩種方式將檔案內容下載到本地txt檔案中。 網頁:百度首頁 http://www.baidu.com Requests方式: # -*-coding:UTF-8 -*- import requests im
java實現下載excle(jxl和poi 兩種方式)
@RequestMapping(value="/download_index") public String downloadExcel(HttpServletRequest request,HttpServletResponse response,String nam
Android以JSONOject和GSON兩種方式解析json
length pre ray oid 字符 CA clas img name json文件如下: 將獲取到的json數據轉化為String形式 OkHttpClient client = new OkHttpClient(); R
JDBC中Oracle的SID和ServiceName兩種方式的連接字符串格式
bottom none color bubuko div nbsp rac 字符串 padding SID格式: jdbc:oracle:thin:@<host>:<port>:<SID> 如: jdbc:oracle:thin:@19
9.10 路由控制之反向解析--【別名】html和views兩種方式實現
com 反向 技術分享 http mage login gin bsp 分享圖片 1. 在html裏反向解析 給路徑起別名,修改路徑時,不用每個地方都修改。 {% url ‘Log‘ %} : 就會去找別名為Log的URL,找到 "login/"後把"logi
julia開發環境安裝——VS code擴充套件和JuliaPro兩種方式
VS code擴充套件方式 首先,下載安裝julia1.0.0:我的上一篇文章 完成後,配置系統環境變數: 控制面板\所有控制面板項\系統–>高階系統設定 高階欄下點選系統變數~ 如圖: 在path下新增你的julia/bin路徑如(圖):G:\Julia-1.0.0
Map集合的遍歷方式以及TreeMap集合儲存自定義物件實現比較的Comparable和Comparator兩種方式
Map集合的特點 1、Map集合中儲存的都是鍵值對,鍵和值是一一對應的 2、一個對映不能包含重複的值 3、每個鍵最多隻能對映到一個值上 Map介面和Collection介面的不同 Map是雙列集合的根介面,Collection是單列集合的根介面 1、Map是雙列的(是雙列集合的根介
Redis詳解 - SpringBoot整合Redis,RedisTemplate和註解兩種方式的使用
本文主要講 Redis 的使用,如何與 SpringBoot 專案整合,如何使用註解方式和 RedisTemplate 方式實現快取。最後會給一個用 Redis 實現分散式鎖,用在秒殺系統中的案例。 更多 Redis 的實際運用場景請關注開源專案 coderiver 專案地址:github.com/cac
mysqldump和xtrabackup兩種方式進行非空庫複製搭建
mysqldump和xtrabackup兩種方式進行非空庫複製搭建 1、mysqldump非空庫複製搭建 2、xtrabackup非空庫複製搭建 mysqldump和xtrabackup兩種方式進行非空庫複製搭建 1、mysqldu
POI操作Excel詳解,HSSF和XSSF兩種方式
HSSF方式: package com.tools.poi.lesson1; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; impor
玩轉SpringCloud 三.斷路器(Hystrix)RestTemplate+Ribbon和Feign兩種方式
此文章基於: 三.斷路器(Hystrix) 在微服務架構中,根據業務來拆分成一個個的服務,服務與服務之間可以相互呼叫(RPC),在Spring Cloud可以用來呼叫。為了保證其高可用,單個服務通常會叢集部署。由於網路原因或者自身的原因,服務並不能保證100%可用,如果單個服務出現問
第一個django專案-通過命令列和pycharm兩種方式
以本機環境為例,ip地址為172.20.16.148,windows平臺,虛擬環境路徑為d:\VirtualEnv,專案存放位置為d:\DjangoProject 命令列方式 1.進入虛擬環境建立專案django-admin startproject projectname 專案的存
spring之AOP操作(基於aspectJ實現)--配置檔案和註解兩種方式實現
AOP概念 1 aop:面向切面(方面)程式設計,擴充套件功能不修改原始碼實現 2 AOP採取橫向抽取機制,取代了傳統縱向繼承體系重複性程式碼 3 aop底層使用動態代理實現 (1)第一種情況,有介面情況,使用動態代理建立介面實現類代理物
VirtualBox 設定虛擬機器網路 以及內建的linux系統 網路靜態ip的配置 包含有線和無線兩種方式
我們討論一下如何在Linux中設定網路連線,配置網路連線最基本的涉及到IP地址、掩碼、閘道器和DNS設定,一般情況下系統設定好以上資訊後就可以接入網路了,這裡介紹了Linux在文字模式下通過修改配置檔案來配置基本網路連線,涉及到更多的網路配置方法請參閱相關的書籍,本文只供Linu
Java和PHP兩種方式實現上傳圖片到新浪微博的圖床
這幾天遇到一個需求,需要將圖片上傳到新浪微博的圖傳,研究了一下, 特此記錄1.模擬登陸,獲取cookie登入地址為:https://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.4.15)&_=140313
SparkStreaming通過Flume獲取資料(單機,push和poll兩種方式)的實現
Flume是Cloudera提供的一個高可用的,高可靠的,分散式的海量日誌採集、聚合和傳輸的系統,Flume支援在日誌系統中定製各類資料傳送方,用於收集資料;同時,Flume提供對資料進行簡單處理,並寫到各種資料接受方(可定製)的能力。1、第一種方式,通過push的方
MyBatis之整合Spring(Dao和Mapper兩種方式)
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://ww
yum和編譯兩種方式升級or降級Centos核心
今天探討用yum和編譯兩種方式升級或者降級核心版本: 升級:比如玩kvm,docker等虛擬化,centos核心則升級尤為重要(雖然核心通過載入模組也可以玩,但是效果不如) 降級:如果發現核心在危險漏洞列,降級核心則顯得尤為重要。當然如果有特殊需求,也可以降級核心。 1、
註冊Servlet、Filter和Listener(程式碼和註解兩種方式)
由於SpringBoot預設是以jar包的方式啟動嵌入式的Servlet容器來啟動SpringBoot的web應用,沒有web.xml檔案。 故而採用其他方式來註冊三大元件:程式碼註冊和註解註冊。 【1】ServletRegistrationBean註冊Se
SpringBoot建立資料庫連線JdbcTemplate和Mybatis兩種方式
Spring Boot有兩種方法與資料庫建立連線,一種是使用JdbcTemplate,另一種整合Mybatis,下面分別為大家介紹一下如何整合和使用這兩種方式。1. 使用JdbcTemplate<dependency> <groupId>mysq