当前位置: 首页 > news >正文

python爬取网页文本_python2、python3 伪装浏览器爬取网页内容的简单示例

这篇文章主要为大家详细介绍了python2、python3 伪装浏览器爬取网页内容的简单示例,具有一定的参考价值,可以用来参考一下。

对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧!

python网页抓取功能非常强大,使用urllib或者urllib2可以很轻松的抓取网页内容。但是很多时候我们要注意,可能很多网站都设置了防采集功能,不是那么轻松就能抓取到想要的内容。

今天我来分享下载python2和python3中都是如何来模拟浏览器来跳过屏蔽进行抓取的。

最基础的抓取:

# @param 分别用python2和python3伪装浏览器爬取网页内容

# @author 512笔记|512PiC.com

#! /usr/bin/env python

# -*- coding=utf-8 -*-

# @Author 512pic

import urllib.request

url = "http://www.512pic.com"

html = urllib.request.urlopen(url).read()

print(html)

但是...有些网站不能抓取,进行了防采集设置,所以我们要变换一下方法

python2中(最新稳定版本python2.7)

# @param 分别用python2和python3伪装浏览器爬取网页内容

# @author 512笔记|512PiC.com

#! /usr/bin/env python

# -*- coding=utf-8 -*-

# @Author 512pic.com

import urllib2

url="http://512pic.com"

req_header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',

'Accept':'text/html;q=0.9,*/*;q=0.8',

'Accept-Charset':'ISO-8859-1,utf-8;q=0.7,*;q=0.3',

'Accept-Encoding':'gzip',

'Connection':'close',

'Referer':None #注意如果依然不能抓取的话,这里可以设置抓取网站的host

}

req_timeout = 5

req = urllib2.Request(url,None,req_header)

resp = urllib2.urlopen(req,None,req_timeout)

html = resp.read()

print(html)

python3中(最新稳定版本python3.3)

#! /usr/bin/env python

# -*- coding=utf-8 -*-

# @Author 512pic

import urllib.request

url = "http://www.512pic.com"

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',

'Accept':'text/html;q=0.9,*/*;q=0.8',

'Accept-Charset':'ISO-8859-1,utf-8;q=0.7,*;q=0.3',

'Accept-Encoding':'gzip',

'Connection':'close',

'Referer':None #注意如果依然不能抓取,这里可以设置抓取网站的host

}

opener = urllib.request.build_opener()

opener.addheaders = [headers]

data = opener.open(url).read()

print(data)

注:关于python2、python3 伪装浏览器爬取网页内容的简单示例的内容就先介绍到这里,更多相关文章的可以留意512笔记的其他信息。

关键词:爬取

相关文章:

  • idea html代码提示_Java后端精选基础教程:使用开发工具 IDEA「连载 4」
  • 各路由协议的协议号_离婚协议范本!
  • python按行拆分表格_Python对Excel按列值筛选并拆分表格到多个文件的代码
  • easyui datagrid重新加载detailview异常_tomcat类加载机制了解一下
  • 关于python格式对齐的问题_python格式对齐
  • css清除浮动的几种方法_小猿圈之HTML/css清除浮动的方法都有哪些?
  • python初学者编程指南源码_如何系统地自学 Python?
  • sublime编辑python_Sublime配置python开发环境
  • python快速入门naomiceder_零基础小白python入门必看之Cartopy的基础使用
  • 为什么写了value属性 jq赋值value值不显示_Vue计算属性原理和使用场景
  • python什么为假_在Python中使用filter去除列表中值为假及空字符串的例子
  • php不调用父类构造_popchain与对应poc的构造分析
  • 最常用20000英语单词表_高中英语 | 英语单词中最常用的300+个前缀、后缀
  • python类方法继承_Python类继承(调用父类成员与方法)
  • 为什么sublime保存的文件不是html_Web前端零基础到实战全系列之HTML5工具Sublime使用和Web标准...
  • 【附node操作实例】redis简明入门系列—字符串类型
  • ECMAScript入门(七)--Module语法
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • nginx 负载服务器优化
  • scala基础语法(二)
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 规范化安全开发 KOA 手脚架
  • 回顾 Swift 多平台移植进度 #2
  • 基于遗传算法的优化问题求解
  • 如何合理的规划jvm性能调优
  • 算法-插入排序
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 微信小程序开发问题汇总
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • ​油烟净化器电源安全,保障健康餐饮生活
  • #define
  • #NOIP 2014# day.2 T2 寻找道路
  • $.proxy和$.extend
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (function(){})()的分步解析
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (八)Spring源码解析:Spring MVC
  • (过滤器)Filter和(监听器)listener
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .form文件_一篇文章学会文件上传
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .net core 依赖注入的基本用发
  • .net反编译工具
  • .NET轻量级ORM组件Dapper葵花宝典
  • .NET中使用Redis (二)
  • .Net转前端开发-启航篇,如何定制博客园主题
  • [ vulhub漏洞复现篇 ] struts2远程代码执行漏洞 S2-005 (CVE-2010-1870)
  • [C#] 如何调用Python脚本程序