位置: IT常识 - 正文

python 爬虫详细步骤(python爬虫详细教程)

发布时间:2024-01-27
一、爬虫的步骤 1、 需求分析(人做) 2、寻找网站(人)3、下载网站的返回内容(requests)4、通过返回的信息找到需要爬取的数据内容(正则表达式-re,xpath-lxml)5、存储找到的数据内容(mysql) 二、requests import requests url = 'http:/ ... 一、爬虫的步骤

1、 需求分析(人做)

推荐整理分享python 爬虫详细步骤(python爬虫详细教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python爬虫的几种方法,python. 爬虫,python爬虫快速入门,python爬虫快速入门,Python爬虫详细步骤,python爬虫快速入门,python爬虫详解,python爬虫详解,内容如对您有帮助,希望把文章链接给更多的朋友!

2、寻找网站(人)3、下载网站的返回内容(requests)4、通过返回的信息找到需要爬取的数据内容(正则表达式-re,xpath-lxml)5、存储找到的数据内容(mysql)

二、requestsimport requestsurl = 'http://www.baidu.com/'response = requests.get(url)print(response)

返回当前url的html信息,(其他url还可能获取图片等)Response[200],Response是一个类,这个类重写了__str__方法()返回值,如果一个url能正常返回html内容,返回值就是200

处理乱码的方式1.查看编码方式:右键检查—>找到head—>charset就是编码方式2.通过response指定编码方式

response.encoding = 'utf-8'print(response.text)print('=' * 30)print(response.content)三、http协议

1.协议:即双方遵守的语言,相当于语言,相同的语言能够相互理解

2.HTTP协议

方法:GET POST

GET:通过URLl获取网站的信息,不改变网站的状态(不改变服务器的任何内容)

python 爬虫详细步骤(python爬虫详细教程)

POST:通过URL向网站传输信息,改变网站的状态(POST比GET多from/body信息)

import requestsform = { 'kw':'同'}url = 'https://fanyi.baidu.com/sug'response = requests.post(url, data = form)print(response.text)

HEAD:跟GET类似,但只有head信息sOPTIONS:PUT通常指定了资源的存放位置PUT:跟POST类似,但通常指定了资源的存放位置DELET:删除某个资源

3.HTTP协议的传输

Request —URL + request headers(请求头信息)Response —HTML ++ responce headers(返回头信息)

GeneralRequest URL: https://www.baidu.com/Request Method: GET requests的获取方法Status Code: 200 OK 返回值Remote Address: 14.215.177.39:443 服务器名称Referrer Policy: no-referrer-when-downgrade

4.请求头信息中重要的三个信息

a)User-Agent —身份是什么b)Referer —跳转网页是什么(即现在的网页是从哪个网页来的)c)cookie —本地存储信息的—与服务器的session一 一对应添加的顺序:a—>b—>c如果能够获取,不再添加如果加上都不行,把headers全部复制下来

import requestsurl = 'https://www.xicidaili.com/nn/'添加请求头信息,字典的方式写入headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36'}response = requests.get(url, headers = headers)with open('xicidaili.txt', 'wb') as f: f.write(response.content)

5.url的组成

1.协议部分,常见的有"http:", “ftp:”2.域名部分,如"www.baidu.com",也可以用IP地址代替3.端口部分,跟在域名后面的是端口,域名和端口用":“作为分隔符,端口不是必须的,如果省略端口,采用默认端口,常见的端口"8080”4.虚拟目录部分:从域名(端口)后面第一个“\”到最后一个“\”为止,是虚拟目录部分5.文件名部分:从最后一个"“到”?“为止,或者从最后一个”“到”#“为止,或者从最后一个”“到最后6.参数部分:从”?“开始到”#“为止之间的部分为参数部分,也叫搜索部分,查询部分。参数与参数之间用”&“作为分位符7.锚部分:从”#"开始到最后,都是锚部分,他的作用是跳转到本页面的子目录下,不加载新的页面

6.Ajax:异步加载,即url不变,经行操作后页面发生变化,去看network里的XHR

7.jsonimport requestsimport jsonform = { 'kw':'同'}url = 'https://fanyi.baidu.com/sug'response = requests.post(url, data = form)

# json是一个包,函数loads的作用是输入一个字符串,输出这个json字符串的python类型数据

json_dict = json.loads(response.text)print(response.text)print("=" * 30)print(json_dict)translated = json_dict['data'][0]['v']print("翻译后的内容是:", translated)8.去重

1、set的实现方式通过hash函数和hash表实现的,(分而治之的思想)如10000 % 20把这些数分为20类2、位图比如存100000个不重复的数字,0-1000000之间,int形,一个int要占32bit,位图即给10000位,数字0存在写入1,不存在写入0,以此类推3、布隆过滤器对于很多url,用hash函数对每个URL分组,对应一个数字,再根据这些数字做位图

本文链接地址:https://www.jiuchutong.com/zhishi/311600.html 转载请保留说明!

上一篇:python中Sample函数是什么?(python中sample函数怎么用)

下一篇:dedecms织梦网站后台免登录方法便于采集(织梦商城)

  • 如何查个人信用记录(如何查个人信用卡)

    如何查个人信用记录(如何查个人信用卡)

  • 红米k30s至尊纪念版是否有超级壁纸(红米k30s至尊纪念版)

    红米k30s至尊纪念版是否有超级壁纸(红米k30s至尊纪念版)

  • 快手小黄车申请退款为什么迟迟不能到账(快手小黄车申请退款后发货了怎么办)

    快手小黄车申请退款为什么迟迟不能到账(快手小黄车申请退款后发货了怎么办)

  • 举报别人qq会被对方知道吗?(qq举报别人会被别人看到自己举报他吗)

    举报别人qq会被对方知道吗?(qq举报别人会被别人看到自己举报他吗)

  • 剪映音乐解析失败(剪映音乐解析失灵怎么办)

    剪映音乐解析失败(剪映音乐解析失灵怎么办)

  • 华为p40手电筒在哪

    华为p40手电筒在哪

  • iphone8配耳机吗(iphone8带的耳机是什么插口的)

    iphone8配耳机吗(iphone8带的耳机是什么插口的)

  • 苹果计算机不见了(苹果计算机不见了怎么回事!)

    苹果计算机不见了(苹果计算机不见了怎么回事!)

  • 微博拉黑了还能私信吗(微博拉黑了还能点赞对方吗)

    微博拉黑了还能私信吗(微博拉黑了还能点赞对方吗)

  • 淘宝不发货投诉赔多少(淘宝不发货投诉成功了还发货吗)

    淘宝不发货投诉赔多少(淘宝不发货投诉成功了还发货吗)

  • 苹果手机移动信号无服务怎么回事(苹果手机移动信号弱怎么回事)

    苹果手机移动信号无服务怎么回事(苹果手机移动信号弱怎么回事)

  • 笔记本电脑重启键在哪(笔记本电脑重启后黑屏没反应)

    笔记本电脑重启键在哪(笔记本电脑重启后黑屏没反应)

  • 网上值机后到现场还需要打印么(网上值机后现场可以改座位吗)

    网上值机后到现场还需要打印么(网上值机后现场可以改座位吗)

  • 两微一端是什么的重心(两微一端是什么?)

    两微一端是什么的重心(两微一端是什么?)

  • 微信付款码怎么弄(微信付款码怎么申请流程)

    微信付款码怎么弄(微信付款码怎么申请流程)

  • 抖音没有合拍功能(抖音怎么没合拍按钮)

    抖音没有合拍功能(抖音怎么没合拍按钮)

  • 360电话手表如何添加号码(360电话手表如何删除应用)

    360电话手表如何添加号码(360电话手表如何删除应用)

  • 安卓手机呼叫转移怎么设置(安卓手机呼叫转移怎么设置和取消)

    安卓手机呼叫转移怎么设置(安卓手机呼叫转移怎么设置和取消)

  • 中脉净水器滤芯怎么换(中脉净水器滤芯在哪买)

    中脉净水器滤芯怎么换(中脉净水器滤芯在哪买)

  • 有流量为什么用不了(有流量为什么用的是话费)

    有流量为什么用不了(有流量为什么用的是话费)

  • 为什么手机解锁后自动往上弹支付宝(为什么手机解锁自动打开抖音)

    为什么手机解锁后自动往上弹支付宝(为什么手机解锁自动打开抖音)

  • 儿童手表怎么定位(儿童手表怎么定位不了了)

    儿童手表怎么定位(儿童手表怎么定位不了了)

  • 拍立得托运要拆电池吗(拍立得托运还是随身带)

    拍立得托运要拆电池吗(拍立得托运还是随身带)

  • win10账户锁定多久解除(win10账户锁定怎么办)

    win10账户锁定多久解除(win10账户锁定怎么办)

  • 4gr是什么意思(4GR是什么意思)

    4gr是什么意思(4GR是什么意思)

  • 所得税 报表
  • 进项税为什么记在借方通俗讲法
  • 专票遗失后可以作废吗
  • 专用增值税发票和普通发票区别
  • 外贸企业出口货物
  • 抹掉的零头怎么入账
  • 企业未能实施个人所得税代扣代缴是否会罚款呢?
  • 银行对个人借款的处理
  • 一般纳税人企业所得税政策最新2023税率
  • 海关缴款书认证不符
  • 非居民企业出租不动产房产税
  • 没建账的个体户如何交个人所得税?
  • 两免三减半政策适用哪些企业
  • 为什么有些单位一直在招聘
  • 私车公用税务处理办法
  • 工资个税合理避税
  • 怎样理解递归
  • 工程结算收入要交税吗
  • 进口应税消费品所支付的金额不包括
  • 小规模附加税申报表填写范本
  • 未开票收入可以不开票吗
  • 管理费用没发票能入账吗
  • Linux中终止某个用户的所有进程的简单方法
  • cmd常用命令大全图解
  • dll缺失怎么修复
  • mac u盘
  • 只交社保不发工资可以吗
  • 鸿蒙3.0手机适配名单荣耀
  • 电脑耳机插上还是外放,重启就可以
  • 由于找不到msvcr120.dll,无法继续执行代码什么意思
  • 增值税有哪些类型的税种
  • 体积最小的u盘
  • 终止劳动合同赔偿需要缴税吗
  • php 获取网页内容
  • 前端get请求传数组
  • 递延所得税资产和所得税费用的关系
  • vue3版本网页小游戏
  • vue从0创建一个项目
  • apt-key is deprecated
  • 金税盘怎样设置收款人复核人
  • 个体户需要交什么保险
  • access创建一个表
  • 固定资产报废计入资产处置损益吗
  • 金税盘地区编号怎么查
  • 外聘专家机票能抵扣增值税吗
  • 小规模纳税人申报纳税详细流程
  • 转出进项税额会计分录
  • 本月未抵扣完的进项税是否转出
  • 白条入账会计处理
  • 单独入账的土地为啥不提折旧
  • 营改增后如何纳税
  • 员工出差的餐费发票是否全部入差旅费
  • 主营业务成本做多了怎么办
  • 新手学会计怎么学
  • 什么是结账?结账前要做哪些准备工作?
  • mac电脑虚拟机怎么安装
  • macbookzen
  • win7误删注册表
  • windows10mode
  • macos触控
  • win10改服务器
  • win10脱机使用
  • 一打字就出现windows设置
  • win7如何获取管理员密码
  • linux备份的文件bak如何恢复
  • 晚上睡觉艾草贴肚脐
  • unityz
  • opengl入门视频教程
  • javascript不严谨
  • nodejs模块有哪些
  • unity2d序列帧
  • JavaScript中的数据类型
  • unity中sendmessage
  • 最简单的java设计
  • 单位购买房产作废怎么办
  • 陕西地方税务局2017年2号公告
  • 企业所得税到底是按间接法计算还是直接法计算
  • 补办契税需要哪些资料
  • 临沂市2020年居民燃气价格
  • 营改增之前和之后
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号