使用python做最简单的爬虫

--之心

#第一种方法
import urllib2 #将urllib2库引用进来
response=urllib2.urlopen("http://www.baidu.com") #调用库中的方法,将请求回应封装到response对象中
html=response.read() #调用response对象的read()方法,将回应字符串赋给hhtml变量
print html #打印出来 #第二中方法
import urllib2
req=urllib2.Request("http://ww.baidu.com")
response=urllib2.urlopen(req)
html = response.read()
print html 一般情况下,上面的爬虫,如果大量爬行,会被限制访问,所以要伪装成浏览器进行访问
这里用伪装成IE9.0进行访问 #要求请的url地址
import urllib2
url="http://www.baidu.com"
#要伪装的浏览器user_agent头
user_agent="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36;"
#创建字典,使请求的headers中的’User-Agent‘:对应user_agent字符串
headers={'User-Agent':user_agent}
#新建一个请求,将请求中的headers变换成自己定义的
req =urllib2.Request(url,headers=headers)
#请求服务器,得到回应
response=urllib2.urlopen(req)
#得到回应内容
the_page=response.read()
#打印结果
print the_page

最新文章

  1. 实时观察Apache访问情况的工具Apachetop
  2. [HTML5] ArrayBuffer与类型化数组
  3. Git基本命令行操作
  4. 转:C++的重载(overload)与重写(override)
  5. 中值排序的java实现
  6. JS 键值对
  7. 小记:获取post和get请求。
  8. Linux shell用法和技巧(转)
  9. hdu - 2102 A计划 (简单bfs)
  10. java获取计算机硬件参数
  11. 使用drawRect有什么影响
  12. Mysql 和Oracle rows 区别
  13. hbase 第一篇
  14. java学习(一)静态代码块 构造代码块 构造方法的执行顺序及注意问题
  15. mongodb备份恢复,数据导入导出
  16. [Swift]LeetCode298. 二叉树最长连续序列 $ Binary Tree Longest Consecutive Sequence
  17. Perl IO:read()函数
  18. Android重复依赖解决办法
  19. C++ 中容器
  20. OpenStack实践系列①openstack简介及基础环境部署

热门文章

  1. DokanLibrary 卸载
  2. C语言常用字符串函数总结
  3. 上传文件插件dropzone的实例
  4. NAS与SAN RAID
  5. AD域账号验证
  6. thinkPHP5.0联表查询和统计文章的图片(栏目文章)数量
  7. apply,call,bind
  8. DP:凑零钱问题/最长非降子序列(C++)
  9. 计算机为什么要区别C盘,D盘,E盘等?
  10. 网站启用GZip压缩后,速度快了3倍!