Day01,python爬虫基础

今日内容:

爬虫课程:

一爬虫基本原理

二requests请求库

一爬虫基本原理

1、什么是爬虫?

爬虫就是爬取数据。

2、什么是互联网?

由一堆网络设备,把一台台的计算机互联到一起称之为互联网。

3、互联网建立的目的

数据的传递与数据的共享。

4、什么是数据?

例如:

电商平台的商品信息(淘宝、京东、亚马逊)链家、自如租房平台的房源信息

股票证券投资信息(东方财富、雪球网) ■.

 12306,票务信息(抢票)

5、什么是上网?

普通用户: 打开浏览器 一--> 输入网址 ..-.-> 往目标主机发送请求一---> 返回响应数据 --->把数据渲染到浏览器中

爬虫程序: 模拟浏览器 ---..-> 往目标主机发送请求一.-..-> 返回响应数据 ---> 解析并提取有价值的数据---> 保存数据(文件写入本地、持久化到数据库中)

6、爬虫的全过程

1.发送请求(请求库: Requests/Selenium)

2.获取响应数据

3.解析数据(解析库: BeautifulSoup4 )

4.保存数据(存储库:文件保存/MongoDB)

总结:我们可以把互联网中的数据比喻成- -座宝藏, 爬虫其实就是在挖取宝藏。

 

import time
import requests
def get_page(url):response =requests.get(url)return responseimport  re
def parse_index(html):detail_urls=re.findall('<div class="items"><a class="imglink" href="(.*?)"',html,re.S)print(detail_urls)return detail_urlsdef parse_detail(html):movie_url=re.findall('<source src="(.*?)">',html,re.S)if movie_url:return movie_url[0]import uuid
def save_video(content):with open(f'{uuid.uuid4()}.mp4','wb') as f:f.write(content)print('下载完毕')if __name__ == '__main__':for line in range(6):url=f'http://www.xiaohuar.com/list-3-{line}.html'response=get_page(url)detail_urls=parse_index(response.text)for detail_url in detail_urls:print(detail_url)detail_res=get_page(detail_url)movie_url=parse_detail(detail_res.text)if movie_url:print(movie_url)movie_res=get_page(movie_url)save_video(movie_res.content)

 

 

 

转载于:https://www.cnblogs.com/zhoujie333/p/11114076.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/550356.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sas sql 读取最后一行数据_SAS基础编程和数据处理

前几天讲了数据分析中SQL的基本使用方法以及具体案例分析思路&#xff0c;接下来会继续讲统计基础以及在SAS软件内的应用&#xff0c;在这之前&#xff0c;本文先进行SAS基础使用编程的基础介绍&#xff0c;后续会主要阐述SAS软件内的统计数学的应用&#xff0c;如分析或初步建…

python 列表索引位置,python – 在列表中查找值的第一个位置

一种方法是为项目创建单独的列表以查找索引并使用索引函数和使用列表理解(还要进行额外检查以确保项目在列表中,否则将发生ValueError)&#xff1a;my_list [1,1,1]items [1,2]print ([my_list.index(item) if item in my_list else -1 for item in items])输出&#xff1a;[…

Linux 下配置多路径及SCSI扫描磁盘重新发现大小

Linux SCSI扫描磁盘重新发现大小&#xff1a; # for i in find /sys/class/scsi_host/host*; do echo 1 >> $i/issue_lip; echo "- - -" >> $i/scan; done 1、安装多路径软件包&#xff1a;device-mapper-1.02.67-2.el5device-mapper-event-1.02.67.2.el…

代码合并工具_分享几款比较常用的代码比较工具

俗话说&#xff1a;三句不离本行&#xff0c;对于程序员这个可爱的群体来说也是一样&#xff0c;即使面对无休无止的编程工作&#xff0c;程序员们依旧任劳任怨的埋头苦干&#xff0c;梦想着用自己码下的代码改变世界。工欲善其事,必先利其器&#xff0c;每一位程序员都有自己私…

oracle9i 恢复数据库,Oracle9i RMAN备份及恢复步骤(zt)

1、切换服务器归档模式&#xff0c;如果已经是归档模式可跳过此步&#xff1a;%sqlplus /nolog (启动sqlplus)SQL> conn / as sysdba (以DBA身份连接数据库)SQL> shutdown immediate; (立即关闭数据库)SQL> startup mount (启动实例并加载数据库&#xff0c;但不打开)…

python 计量经济 35岁 工作_Python在计量经济与统计学中的应用

Python for Econometrics and Statistics (Python在计量经济与统计学中的应用) 【点击链接进入主页】。这套笔记将重点介绍Python在计量经济学与统计分析中的应用。内容涵盖Python基本数据类型&#xff0c;Numpy科学运算&#xff0c;Pandas数据分析&#xff0c;统计分析&#x…

循环控制

循环控制 定义 Python 循环语句是通过一条或多条语句的执行结果&#xff08;True 或者 False&#xff09;来决定执行的代码块。 并在符合条件的情况下跳出该段循环。 类似于控制语句。 如下图所示。 WHILE 循环 while 判断条件&#xff1a; 语句 求1~100的和 n 0 sum 0 while…

rest风格的get加密字符串怎么接收_RESTful Api的设计与风格,你该学一下咯

REST的重要概念REST全称是Representational State Transfer&#xff0c;中文意思是表征性状态转移。RESTful是指具有REST表征的web架构风格&#xff0c;并非必须遵守的规则。REST分离了API的结构和逻辑&#xff0c;主要应用于客户端和服务器交互类的软件。基于这种风格设计的软…

oracle截取字符串替换,oracle字符串操作:拼接、替换、截取、查找

‘拼接‘||‘字符串‘ as Str from student;2、使用concat(param1,param2)函数实现&#xff1a;select concat(‘拼接‘,‘字符串‘) as Str from student;注&#xff1a;oracle的concat()方法只支持两个参数&#xff0c;如果拼接多个参数&#xff0c;可以嵌套concat()&#xf…

oracle函数 INSTR(C1,C2[,I[,J]])

【功能】在一个字符串中搜索指定的字符,返回发现指定的字符的位置; 【说明】多字节符(汉字、全角符等)&#xff0c;按1个字符计算 【参数】 C1 被搜索的字符串 C2 希望搜索的字符串 I 搜索的开始位置,默认为1 J 第J次出现的位置,默认为1 【返回】数值 【示例】se…

mybatis3 oracle,Mybatis3中對oracle的批量插入

Mybatis批量插入的資料&#xff0c;很多都是mysql的&#xff0c;insert into ... values (),(),...醬紫。oracle中不支持這種語法&#xff0c;oracle中的批量插入是醬紫insert intoselcect... union all select ...。在這里http://my.oschina.net/u/232879/blog/118245有說明my…

python里 try里怎么用int函数_如何在不使用try / catch的情况下测试Python枚举中是否存在int值?...

测试价值变体1请注意&#xff0c;_member_names_具有一个名为in的成员(未记录...)&#xff1a;print(Fruit._value2member_map_)# {4: , 5: , 6: }您可以对照此地图测试值是否在_member_names_中&#xff1a;5 in Fruit._value2member_map_ # True7 in Fruit._value2member_map…

U盘安装可能会遇见UEFI的问题,使用easyBCD安装即可。

参考链接 CSDN博客 Tips 关于 (hd0,0) 如果出现 File not find的问题那么使用&#xff0c;(hd0,1) 后面的数字变一下&#xff0c;主要根据是&#xff0c;windows 的磁盘管理中的C盘的系统盘的序列。 转载于:https://www.cnblogs.com/eat-too-much/p/11120772.html

oracle truct,java向oracle 存储过程 传输数组

1 根据传参创建一个自定义类型create or replace type user_type force as object(age number,username nvarchar2(20),phone nvarchar2(20),syntime DATE)2 创建数组create or replace type user_type_arr as table of user_type3 创建存储过程create or replace procedure pr…

python 动态调整控件大小_python PyQt5如何让窗口控件与窗口大小同步变化?

在下面的代码中 self.tableWidget.resize(self.width()-20,self.height()-20)self.tableWidget.move(10,20)这两行没有起作用&#xff1f;不知为何&#xff1f;from PyQt5 import QtCore, QtGui, QtWidgetsfrom PyQt5.QtGui import QIconfrom PyQt5.QtWidgets import *from PyQ…

oracle sum详解,oracle sum()聚合函数

原文链接&#xff1a;https://blog.csdn.net/cizatu5130/article/details/100291347oracle sum()聚合函数2016-05-13 20:08:00 cizatu5130 阅读数 8Oracle 的sum聚合函数的功能就是求和(这里暂时不讨论分析函数用法)&#xff0c;一般用法不多讲&#xff0c;有个用法比较令人疑惑…

接口批量同步数据_千手接口平台+电商ERP,助德嵘大药房征战拼多多

拼多多对C端经营者来说&#xff0c;是一个处于红利期的第三方C端电商平台&#xff0c;进驻费比天猫低很多&#xff0c;而且流量成本也低&#xff0c;很多商家都跃跃欲试。但对于没有C端平台运营经验的商家&#xff0c;进驻后会发现几个"坑"&#xff1a;客单价低、退货…

FRM二级备考感想

真的是意料之中的Fail... 只有在Current Issues考得1&#xff0c;其他四门都是3... 复习的很不扎实&#xff0c;考前头脑里没有知识架构&#xff0c;考场无法对综合题目进行分析&#xff0c;直觉又从来靠不住。 同事说&#xff0c;二级不要想太多&#xff0c;就能过。 基础班视…

oracle静默文件建库,【配置上线】Oracle静默建库 for 11g

Oracle静默建库for 11g使用静默dbca创建数据库有两种方法&#xff1a;1)一种是根据oracle自身的数据库模板创建数据库(建议)&#xff0c;数据库模板位置$ORACLE_HOME/assistants/dbca/templates/*.dbcORACLE为我们提供了几个dbc模板&#xff1a;Data Warehouse数据仓库Transact…

word2vec python 代码实现_python gensim使用word2vec词向量处理中文语料的方法

word2vec介绍word2vec是google的一个开源工具&#xff0c;能够根据输入的词的集合计算出词与词之间的距离。它将term转换成向量形式&#xff0c;可以把对文本内容的处理简化为向量空间中的向量运算&#xff0c;计算出向量空间上的相似度&#xff0c;来表示文本语义上的相似度。…