爬虫 知识点 总结。

网络爬虫的基本工作流程例如以下:

1.选取种子URL;

2.将这些URL放入待抓取URL队列;

3.从待抓取URL队列中取出待抓取在URL。解析DNS,而且得到主机的ip,并将URL相应的网页下载下来,存储进已下载网页库中。

4.分析已抓取URL队列中的URL,分析当中的其它URL,而且将URL放入待抓取URL队列,从而进入下一个循环。

在抓取标签匹配的时候 ,有三种方法来抓取 分别是   re , xpath ,  BeautifulSoup4

建议大家要精确的学好re正则匹配, 因为有些网站 ,xpath,和 BeautifulSoup4  没有正则匹配效率高。

本人在爬取 优酷网站的时候  就得到了这个理解,正则匹配 会精准的筛选出相应的数据。

如果大家是初学者,可以提供一个不被封ip的一个秘诀:exit(-1)。

次秘诀是爬虫里的断点,可以先设置断点 只爬取一条数据,让网站不认为你是爬虫,等把所有逻辑都成功确认之后,在解开断点,爬到自己想要的数据。

那么就来展示一下爬虫爬视频的代码,代码如下:

# 导包

import requests

import re

from lxml import etree

import os

class PearVideo(object):

# 定义抓取方法

def get_content(self,url,type):

if type == ‘index‘:

fil_name = ‘test_pear.html‘

else:

fil_name = ‘inner_pear.html‘

# 使用os模块来判断文件是否存在

if not os.path.exists(fil_name):

# 发送http请求

r = requests.get(url)

# 解码

html = r.content.decode(‘utf-8‘)

# 写文件

with open(‘./‘+fil_name,‘w‘,encoding=‘utf-8‘) as f:

f.write(html)

else:

with open(‘./‘+fil_name,encoding=‘utf-8‘) as f:

contents = f.read()

return contents

# 定义数据匹配方法

def get_xpath(self,html):

# 转换格式

html = etree.HTML(html)

html_data_img = html.xpath("//div[@class=‘actcontbd‘]/a/@href")

# print(html_data_img)

# 处理内页网址

url_list = []

for item in html_data_img:

item = ‘https://www.pearvideo.com/‘+item

url_list.append(item)

# print(url_list)

# 爬取内页

url_page = url_list[8]

inner_html = self.get_content(url_page,‘inner‘)

# 匹配真实视频地址

regex = re.compile(‘srcUrl="(.+?)"‘)

print(regex.findall(inner_html))

# 下载视频

r = requests.get(regex.findall(inner_html)[0])

with open("./test_pear.mp4","ab") as f:

f.write(r.content)

if __name__ == "__main__":

# 实例化一个对象

pearvideo = PearVideo()

html = pearvideo.get_content(‘https://www.pearvideo.com/‘,‘index‘)

# 匹配图片地址

pearvideo.get_xpath(html)

如有需要更进,请需大神指点。

原文地址:https://www.cnblogs.com/lyp0626/p/10479502.html

时间: 2024-11-02 16:36:20

爬虫 知识点 总结。的相关文章

Python 爬虫知识点 - 淘宝商品检索结果抓包分析(续)

通过前一节得出地址可能的构建规律,如下: https://s.taobao.com/search?data-key=s&data-value=44&ajax=true&_ksTS=1481814489094_902&callback=jsonp903&q=Python%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0&imgfile=&js=1&stats_click=search_radio_all%3A1&i

Python爬虫知识点四--scrapy框架

一.scrapy结构数据 解释: 1.名词解析: o??引擎(Scrapy Engine)o??调度器(Scheduler)o??下载器(Downloader)o??蜘蛛(Spiders)o??项目管道(Item Pipeline)o??下载器中间件(Downloader Middlewares)o??蜘蛛中间件(Spider Middlewares)o??调度中间件(Scheduler Middlewares) 2.具体解析 绿线是数据流向??从初始URL开始,Scheduler会将其交给Do

Python爬虫知识点——请求

请求 :请求方法.请求网址.请求头.请求体 请求方法: 常见的为:GET.POST GET与POST主要区别: GET请求参数包含在URL,可从URL中看出.POST请求的URL不包含参数,都是通过表单的形式传输的,包含在请求体中 GET请求提交的数据最多只有1024字节,POST无限制 其他还有HEAD.PUT.DELETE.CONNECT.OPTIONS.TRACE 请求的网址: 即URL,我们想要请求的资源 请求头: 用来说明服务器要使用的附加信息,比较总要的有Cookie.Referer

Python爬虫知识点——爬虫的基本原理

爬虫的基本原理 爬虫就是获取网页并提取和保存信息的自动化程序 获取网页: 获取网页就是获取网页的源码,只要把源码获取下来,就可以从中提取想要的消息 爬虫的流程:想网站的服务器发送一个请求,返回的响应体就是网页的源代码. ? ==>1,构造请求发送给服务器===>2.接受响应并解析 提取信息: 通过分析网页结构,提取网页信息.通常使用的解析库有:BeautifulSoup.lxml.pyquery,也可以使用正则,但是构造正则表达式比较复杂且易错 保存数据: 将提取的数据保存到某处以便后续利用.

Python爬虫知识点——响应

响应: 响应状态码.响应头.响应体 响应状态码: **表2-3常见的错误代码及错误原因** 状态码 说明 详情 100 继续 请求者应当继续提出请求.服务器返回此代码表示已收到请求的第一部分,正在等待其余部分. 101 切换协议 请求者已要求服务器切换协议,服务器已确认并准备切换. 200 成功 服务器已成功处理了请求.通常,这表示服务器提供了请求的网页. 201 已创建 请求成功并且服务器创建了新的资源. 202 已接受 服务器已接受请求,但尚未处理. 203 非授权信息 服务器已成功处理了请

python爬虫知识点总结(八)Selenium库详解

一.什么是Selenium? 答:自动化测试工具,支持多种浏览器.用来驱动浏览器,发出指令让浏览器做出各种动作,如下拉,跳转等. 爬虫中主要用来解决JavaScript渲染的问题. 注:如果用requests,urllib这些库无法正常获取网页内容,可以用Selenium来完成渲染 二.安装 pip3 install selenium 三.基本使用 原文地址:https://www.cnblogs.com/cthon/p/9410796.html

Python爬虫知识点梳理

学任何一门技术,都应该带着目标去学习,目标就像一座灯塔,指引你前进,很多人学着学着就学放弃了,很大部分原因是没有明确目标,所以,在你准备学爬虫前,先问问自己为什么要学习爬虫.有些人是为了一份工作,有些人是为了好玩,也有些人是为了实现某个黑科技功能.不过 肯定的是,学会了爬虫,能给你的工作提供很多便利. 作为零基础小白,大体上可分为三个阶段去实现,第一阶段是入门,掌握必备基础知识,比如Python基础.网络请求的基本原理等,第二阶段是模仿,跟着别人的爬虫代码学,弄懂每一行代码,熟悉主流的爬虫工具,

Python 爬虫知识点 - 淘宝商品检索结果抓包分析(续二)

一.URL分析 通过对“Python机器学习”结果抓包分析,有两个无规律的参数:_ksTS和callback.通过构建如下URL可以获得目标关键词的检索结果,如下所示: https://s.taobao.com/search?data-key=s&data-value=44&ajax=true&_ksTS=1482325509866_2527&callback=jsonp2528&q=Python机器学习&imgfile=&js=1&stat

Python 爬虫知识点

一.基础知识 1.HTML分析 2.urllib爬取 3.urllib保存网页 4.urllib保存图片 5.模拟浏览器 6.正则表达式 7.IP代理 8.抓包分析 9.多线程爬取 10.异常处理 11.XPath 二.Scrapy安装关联包 PyCharm--->File--->Settings--->Project..........