热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:寒假学习进度15

篇首语:本文由编程笔记#小编为大家整理,主要介绍了寒假学习进度15相关的知识,希望对你有一定的参考价值。接上次的python爬虫进阶,这次学习了针对一些网站的反爬虫处

篇首语:本文由编程笔记#小编为大家整理,主要介绍了寒假学习进度15相关的知识,希望对你有一定的参考价值。


  接上次的python爬虫进阶,这次学习了针对一些网站的反爬虫处理方式以及用键值对向url传递参数,模拟人工输入的网页搜索。

  我们知道,不管是正常的爬虫还是恶意爬虫,不仅会导致网站信息泄露,而且还会导致服务器压力过大。想象一下,一台计算机模拟人工请求访问服务器,并且与以计算机的速度与服务器进行交互,势必会导致服务器压力过大或者瘫痪。所以,很多正规的大型网站不想让网络爬虫爬取数据,设置了反爬虫机制。最常见的就是user-agent,简单来说,就是被爬取的网站会通过访问的url中的user-agent信息,来判断这次的网站访问是浏览器访问,还是计算机程序访问,自动屏蔽计算机程序访问。

  我们可以自动设置user-agent信息,模拟浏览器访问网站,就能绕过去一部分反爬虫机制。当然,我试着用这个方法,还是不能绕过百度的搜索限制,看来还得继续学习其他的绕过反爬虫机制的方法。

  代码如下(绕过亚马逊反爬虫机制的案例)

  


# -*- coding: utf-8 -*-
#
@Time    : 2020/2/8 10:15
#
@Author  : duoduo
#
@FileName: pc1.py
#
@Software: PyCharm
import requests
import re
#爬出异常处理框架
""""
def GetHttp(url):
try:
r=requests.get(url)
r.raise_for_status()
r.encoding=r.apparent_encoding
return r.text
except:
return "访问错误"
"""""
#模拟浏览器(针对Amazon反爬虫机制(抱歉,我们只是想确认一下当前访问者并非自动程序))
kv={user-agent:Mozilla/5.0}
url
=https://www.amazon.cn/dp/B007J4IZNO/
r
=requests.get(url,headers=kv)
r.encoding
=r.apparent_encoding
print(r.status_code)
print(r.text)

 


推荐阅读
  • 本文将介绍如何利用Python爬虫技术抓取国内主流在线学习平台的数据,并以51CTO学院为例,进行详细的技术解析和实践操作。 ... [详细]
  • 本文探讨了在Koa框架下,如何在启动服务前检查指定端口是否已被占用的方法,并提供了相应的代码示例。 ... [详细]
  • 本文详细介绍了如何正确安装Java EE SDK,并解决在安装过程中可能遇到的问题,特别是关于servlet代码在Apache Tomcat 10中无法运行的情况。 ... [详细]
  • 本文探讨如何利用Java反射技术来模拟Webwork框架中的URL解析过程。通过这一实践,读者可以更好地理解Webwork及其后续版本Struts2的工作原理,尤其是它们在MVC架构下的角色。 ... [详细]
  • 详细指南:使用IntelliJ IDEA构建多模块Maven项目
    本文在前两篇文章的基础上,进一步指导读者如何在IntelliJ IDEA中创建和配置多模块Maven项目。通过详细的步骤说明,帮助读者掌握项目模块化管理的方法。 ... [详细]
  • Python3 第一周学习总结
    本文总结了Python3第一周的学习内容,包括Python的主要特性、版本选择建议、开发环境配置技巧以及一些有趣的语言特性。 ... [详细]
  • Python基础入门:理解字符集与编码
    本文首先探讨了计算机的基本工作原理——二进制系统,进而深入介绍了字符集的概念及其在不同编码标准(如ASCII、GB2312、GBK、Unicode及UTF-8)中的应用。此外,文章还简要介绍了Python的安装、基本运行环境配置、变量定义、字符串处理、用户输入输出、条件判断及循环控制结构。 ... [详细]
  • Python 第三天学习笔记
    本文详细介绍了 Python 编程的第三天学习内容,包括字符编码、文件处理以及函数的基本概念和使用方法。 ... [详细]
  • 本文介绍了如何在配置了virtualenv和virtualenvwrapper环境后,利用PyCharm创建新的Django项目,并将开发数据库从SQLite切换至更适用于生产环境的MySQL数据库。文章详细记录了尝试使用MySQLdb、MySQL自带Connector及pymysql等不同数据库连接库时遇到的问题及解决办法。 ... [详细]
  • 本文将指导如何在JFinal框架中快速搭建一个简易的登录系统,包括环境配置、数据库设计、项目结构规划及核心代码实现等环节。 ... [详细]
  • 智慧城市建设现状及未来趋势
    随着新基建政策的推进及‘十四五’规划的实施,我国正步入以5G、人工智能等先进技术引领的智慧经济新时代。规划强调加速数字化转型,促进数字政府建设,新基建政策亦倡导城市基础设施的全面数字化。本文探讨了智慧城市的发展背景、全球及国内进展、市场规模、架构设计,以及百度、阿里、腾讯、华为等领军企业在该领域的布局策略。 ... [详细]
  • 本文详细介绍了如何使用 PHP 编程语言输出 99 乘法表,包括使用不同的循环结构如 do-while、for 循环等方法,并提供了具体的代码示例。 ... [详细]
  • Python 中使用 Pyecharts 绘制雷达图详解
    本文将详细介绍如何在 Python 环境中利用 Pyecharts 库来创建美观且功能丰富的雷达图。适合需要图形化展示多维度数据的开发者和研究人员。 ... [详细]
  • Java程序设计第五周学习总结与实践
    本次学习总结涵盖了本周在Java程序设计课程中的学习要点,包括代码阅读、抽象类的应用、接口的使用以及面向接口编程的概念。同时,还包括了具体的书面作业解析。 ... [详细]
  • 本文档详细规划了从基础到高级的软件测试学习路径,包括但不限于测试基础、Linux和数据库、功能测试、Python编程、接口测试、性能测试、金融项目实战、UI自动化测试等内容,旨在为初学者和进阶者提供全面的学习指导。 ... [详细]
author-avatar
___何鵬
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有