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

WebCrawler

爬虫相关概念域名域名只是一个网站的标识,不可以直接访问网站,只有当域名经过解析之后,这个域名才能成为一个URL(网址)。URL(网址)包

爬虫相关概念



域名

域名只是一个网站的标识,不可以直接访问网站,只有当域名经过解析之后,这个域名才能成为一个URL(网址)。URL(网址)包含域名,是Internet上的地址簿,通过URL可以到达任何一个网站页面。


通用爬虫:

(通用性搜索引擎)--百度等:大多爬取得是无用信息


聚焦爬虫:

根据需求来爬取

聚焦爬虫设计思路:

        1、给一个URL(URL如何获取?)

        2、模拟游览器通过http协议访问url(如何访问),获取服务器返回的html代码

        3、按照规则解析html字符串(如何解析)


反爬手段:

        1、user-agent(用户代理),简称ua,使得服务器能够识别何种,操作系统、游览器

        2、代理IP:透明代理、匿名代理、高匿名代理

        3、验证码校验

        4、多态加载网页:给你一些假数据

        5、数据加密


urllib库


urllib库pycharm自带,不用下载

ctrl+f输出端搜索


1、需求:使用urllib获取百度首页源码

# 需求:使用urllib获取百度首页源码import urllib.request
# 1、定义一个url
url = 'http://www.baidu.com'
# 2、模拟游览器向服务器发送请求
response = urllib.request.urlopen(url)
# 3、获取响应中的页面源码
# read默认返回的是字节形式的二进制数据,所以要转化一下(decoe解码:二进制--字符串)
content = response.read().decode('utf-8')# 4、打印数据
print(content)

2、一个类型和六个方法

import urllib.requesturl = 'http://www.baidu.com'response = urllib.request.urlopen(url)
print(type(response)) # 一个类型:# 六个方法
content = response.read(5) # 读5个字节
content = response.readline()
content = response.readlines()
content = response.getcode() # 返回状态码,如果返回200则是对的
content = response.geturl() # 返回url地址
content = response.getheaders() # 返回状态信息
print(content)

3、下载网页、图片、视频

import urllib.request
# 下载网页
url_page = 'https://www.csdn.net/'
urllib.request.urlretrieve(url_page,'csdn.html') # 取回
print('successful')
# 下载图片
url_image = 'https://img2.baidu.com/it/u=1742064249,2154824212&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500'
urllib.request.urlretrieve(url=url_image,filename='girl.jpg')# 下载视频
url_video = 'https://vd2.bdstatic.com/mda-kknnhxizkvhw1358/sc/mda-kknnhxizkvhw1358.mp4?v_from_s=hkapp-haokan-nanjing&auth_key=1651033121-0-0-c1c56be3425d4d317cbdf70d329098bb&bcevod_channel=searchbox_feed&pd=1&cd=0&pt=3&logid=2920995839&vid=18373311689486988030&abtest=100815_1-101454_5-101830_2-17451_2&klogid=2920995839'
urllib.request.urlretrieve(url=url_video,filename='girl_avatar.mp4')

4、请求对象的定制

5、get请求

6、post请求

7、代理、代理池


推荐阅读
  • 本文介绍了响应式页面的概念和实现方式,包括针对不同终端制作特定页面和制作一个页面适应不同终端的显示。分析了两种实现方式的优缺点,提出了选择方案的建议。同时,对于响应式页面的需求和背景进行了讨论,解释了为什么需要响应式页面。 ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • 本文介绍了NetCore WebAPI开发的探索过程,包括新建项目、运行接口获取数据、跨平台部署等。同时还提供了客户端访问代码示例,包括Post函数、服务器post地址、api参数等。详细讲解了部署模式选择、框架依赖和独立部署的区别,以及在Windows和Linux平台上的部署方法。 ... [详细]
  • Python15行代码实现免费发送手机短信,推送消息「建议收藏」
    Python15行代码实现免费发 ... [详细]
  • 一.常见基于身份识别进行反爬1通过headers字段来反爬headers中有很多字段,这些字段都有可能会被对方服务器拿过来进行判断是否为爬虫1.1通过headers中的User-A ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • 本文介绍了求解gcdexgcd斐蜀定理的迭代法和递归法,并解释了exgcd的概念和应用。exgcd是指对于不完全为0的非负整数a和b,gcd(a,b)表示a和b的最大公约数,必然存在整数对x和y,使得gcd(a,b)=ax+by。此外,本文还给出了相应的代码示例。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
  • 本文介绍了一个适用于PHP应用快速接入TRX和TRC20数字资产的开发包,该开发包支持使用自有Tron区块链节点的应用场景,也支持基于Tron官方公共API服务的轻量级部署场景。提供的功能包括生成地址、验证地址、查询余额、交易转账、查询最新区块和查询交易信息等。详细信息可参考tron-php的Github地址:https://github.com/Fenguoz/tron-php。 ... [详细]
  • 本文介绍了一种在PHP中对二维数组根据某个字段进行排序的方法,以年龄字段为例,按照倒序的方式进行排序,并给出了具体的代码实现。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
author-avatar
虫虫2彡0120106
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有