码迷,mamicode.com
首页 > 编程语言 > 详细

Python爬取网页的三种方法

时间:2016-10-22 01:09:26      阅读:693      评论:0      收藏:0      [点我收藏+]

标签:python 网页

# Python爬取网页的三种方法之一:  使用urllib或者urllib2模块的getparam方法

import urllib

fopen1 = urllib.urlopen(‘http://www.baidu.com‘).info()

fopen2 = urllib2.urlopen(‘http://www.sina.com‘).info()

print fopen1.getparam(‘charset‘)

print fopen2.getparam(‘charset‘)

#----有些网站有反爬虫技术,需要如下办法----

url = ‘http://www.qiushibaike.com/hot/page/1‘

user_agent = ‘Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)‘

headers = { ‘User-Agent‘ : user_agent }

request = urllib2.Request(url,headers = headers)

c_res=urllib2.urlopen(request).info()

print c_res.getparam(‘charset‘)

# Python爬取网页的三种方法之二 : 使用chardet模块 ---感觉比方法一速度慢一点

import chardet

import urllib

#先获取网页内容

data1 = urllib.urlopen(‘http://www.baidu.com‘).read()

#用chardet进行内容分析

chardit1 = chardet.detect(data1)

print chardit1[‘encoding‘]

#----有些网站有反爬虫技术,需要如下办法----

url = ‘http://www.qiushibaike.com/hot/page/1‘

user_agent = ‘Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)‘

headers = { ‘User-Agent‘ : user_agent }

response = urllib2.urlopen(request).read()

chardit1 = chardet.detect(response)

print chardit1[‘encoding‘]

# Python爬取网页的三种方法之三 : 利用BeautifulSoup模块方法

from bs4 import BeautifulSoup

import urllib2

content=urllib2.urlopen(‘http://www.baidu.com‘)

soup=BeautifulSoup(content)

print soup.original_encoding #这里的输出就是网页的编码方式

#----有些网站有反爬虫技术,需要与上述两办法类似处理----


Python爬取网页的三种方法

标签:python 网页

原文地址:http://leesbing.blog.51cto.com/1344594/1864332

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!