# 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爬取网页的三种方法相关推荐

  1. python如何实现下载文件_python实现下载文件的三种方法

    python实现下载文件的三种方法 Python开发中时长遇到要下载文件的情况,最常用的方法就是通过Http利用urllib或者urllib2模块. 当然你也可以利用ftplib从ftp站点下载文件. ...

  2. 抓取微信小程序数据包的三种方法

    前言 做安全测试的都会遇到测试某微信小程序,而微信小程序基本都是基于HTTPS的,所以抓取HTTPS数据包就是最关键的一步.最近几天折腾了一下,整理了比较简单.方便的三种方法. 条件 抓取微信小程序数 ...

  3. python对列表进行去重_Python对列表去重的4种方法

    开发中对数组.列表去重是非常常见的需求,对一个list中的id进行去重,有下面几种方法,前面两种方法不能保证顺序, 后面两种方法可以保持原来的顺序. 下面的代码都在Python3下测试通过, Pyth ...

  4. python求1到n的乘积_Python实现矩阵相乘的三种方法小结

    问题描述 分别实现矩阵相乘的3种算法,比较三种算法在矩阵大小分别为22∗2222∗22, 23∗2323∗23, 24∗2424∗24, 25∗2525∗25, 26∗2626∗26, 27∗2727 ...

  5. python字符串出栈方法_Python 实现字符串反转的9种方法

    在做leetcode的试题中,做到反转整数,就涉及到字符串反转,为了尽可能可以写出更多的方法,于是写下这篇文章 样例:如 a='123456789' 反转成 a='987654321' 第一种方法:使 ...

  6. python怎么循环终止_Python 循环终止语句的三种方法小结

    Python 循环终止语句的三种方法小结 在Python循环终止语句有三种: 1.break break用于退出本层循环 示例如下: while True: print "123" ...

  7. python 解方程_python如何解方程的三种方法

    python求解方程组的三种方法: Numpy求解方程组x + 2y = 3 4x + 5y = 6 当然我们可以手动写出解析解,然后写一个函数来求解,这实际上只是用 Python 来单纯做" ...

  8. java 取名字_Java 中获取类名的三种方法,你知道几种?

    之前我们分享过Java高级篇--深入浅出Java类加载机制这篇文章,今天来带你了解获取类名的三种方法. 获取类名的方法 Java 中获取类名的方式主要有以下三种. getName()返回的是虚拟机里面 ...

  9. python描述符魔术方法_学习笔记-Python基础9-面向对象编程OOP-类的成员描述符(property)、类的常用内置属性、类的常用魔术方法、类和对象的三种方法...

    一.类的成员描述符(property) 类的成员描述符是为了在类中,对类的成员属性进行相关操作而创建的一种方式,大部分属于数据清洗 属性有三种操作:get获取属性值.set修改或添加属性.delete ...

  10. android写入文件方法,Android 追加写入文件的三种方法

    一.使用FileOutputStream 使用FileOutputStream,在构造FileOutputStream时,把第二个参数设为true public static void method1 ...

最新文章

  1. Gardener and Tree 图论,树,队列
  2. 零基础带你五行代码实现聊天机器人-再这么玩?咱还能做朋友吗?
  3. 热电偶校验仪_热电偶校验方法_烟台一等热电偶,干湿两用温度校验炉公司
  4. 交换机MAC地址学习和转发数据帧的原理
  5. 从MapReduce的执行来看如何优化MaxCompute(原ODPS) SQL 1
  6. SQL分页查询方案的性能对比
  7. ajax post 传参数加引号和不加引号的区别
  8. 保护模式下的80386及其编程02:机器状态和存储寻址
  9. 如何在Java中获取系统属性?
  10. python设置excel格式_Python使用xlwt写excel并设置写入格式
  11. CDH-CM资源下载
  12. 1分钟恢复损坏的Excel文件
  13. 超大文件调用讯飞语音听写解决方案
  14. 2022年最新广播电视广告报价(共23份)
  15. windows生产力提升-装机必备
  16. JS 下拉菜单内容交换
  17. 2005-11-11
  18. **浅谈STM32系列单片机的零基础学习方法**
  19. Asterisk[1]
  20. Go语言教程(二)Go语言基础编程

热门文章

  1. 数据库优化的几条基本策略
  2. 海量信息存储基地落户滨海高新区
  3. 使用UI Automation实现自动化测试 --工具使用
  4. 为什么我的resharper控件安装之后没有显示
  5. JavaWeb学习总结(四十八)——模拟Servlet3.0使用注解的方式配置Servlet
  6. 团购、定时抢购倒计时js版
  7. dns 服务器无法从应用程序目录分区,DNS 区域不随事件 4000 和 4007 一起加载 - Windows Server | Microsoft Docs...
  8. 最新版idea如何在包下建立子包(dao包下建立impl包)
  9. PHP的postman的bulk edit小功能:可以直接复制浏览器query string parameters的数据至postman的body的form-data 很方便 不用手写了
  10. PHP的各种参数设置ini_set:内存 错误等级 session