百度网页关键字抓取(覆盖原资源patch向html网页提交局部修改需求改变资源)

优采云 发布时间: 2022-01-12 15:02

  百度网页关键字抓取(覆盖原资源patch向html网页提交局部修改需求改变资源)

  HTTP超文本传输​​协议:它是一种基于“请求和响应”模型的无状态应用层协议

  url 格式[:port][路径]

  主机:合法的互联网主机域名或IP地址

  port:端口号,默认端口为80,可省略

  path:请求资源的路径

  get() 获取html网页的主要方法

  获取html网页头部信息的head方法

  post 向html页面提交post请求的方法附加一个新资源

  put 向 html 网页提交 put 请求以存储资源,覆盖原创资源

  patch 向 html 页面提交部分修改请求以更改那里的资源的部分内容

  delete 向html网页提交删除请求,删除url位置存储的资源

  put和patch的区别:

  假设 url 位置中有一组 20 个数据字段。如果要更新用户名,其他保持不变。

  补丁,只向url提交用户名的部分更新请求

  put:20个字段都需要提交到url,未提交的字段将被删除

  谨慎使用 put

  请求的head()方法

  

  

  

  requests.rquest(get, url, 其他参数)

  其他13个参数包括,前四个是最重要的

  params:字典或字节序列,作为参数添加到url中,用于过滤url的部分资源

  data:字典、字节序列或文件对象,作为请求的内容

  json : json格式的数据,作为请求的内容

  标头:字典、http 自定义标头

  以及cookies认证文件等13个访问控制参数

  

  注意:用得最多的是get,因为安全问题,网站的大部分内容是不允许修改的。爬虫最常用的方法是提取,而不是提交。

  第一部分的讨论主题是爬取一个网页100次看爬取时间。以下是两位同学的总结。与其他答案相比,时间要短得多。我不知道我的代码是否有问题。

  

  

  (三)网络爬虫引起的问题。

  爬虫分类:

  1. 抓取网页并使用网络请求库 90%

  小规模数据量小,对速度不敏感

  2.爬取网站爬取系列网站scrapy库

  中规模数据量大,爬取速度敏感。爬行速度必须赶上更新速度。

  例如爬行

  3.爬取全网需要自定义开发

  大型搜索引擎爬取速度的关键

  带来问题:

  1.爬虫会对服务器性能产生“骚扰”影响

  2.服务器上的数据是专有的

  3.隐私披露

  爬虫限制:

  1.源码审查判断user-agent

  2.公告机器人协议

  机器人协议:

  功能:网站告诉爬虫哪些数据可以爬,哪些不能爬

  格式:robots.txt 放在网站的根目录下

  

  遵守协议:

  可以不服从,但很可能触犯法律

  但是,还是要服从的,人类的行为是不能服从的。

  (四)具体情况

  (1)京东商品页面爬取

  导入请求

  网址=""

  尝试:

  r=requests.get(url)

  r.raise_for_status()

  r.encoding=r.apparent_encoding

  打印(r.text[:1000])

  除了:

  打印(“失败”)

  

  (二)亚马逊产品页面

  亚马逊等一些网站不支持网络爬虫爬取信息,所以会进行source review,限制user-agent

  此时我们可以修改user-agent为浏览器名称Mozilla/5.0。

  需要通过headers字段修改

  r.raise_for_status() 如果状态码是 200 则成功不是 200 表示异常

  (以下代码为Wie2017的代码,从爬取结果可以看出亚马逊添加了反爬虫验证,导致爬取失败。)

  

  (3)百度360搜索关键词提交

  提交 关键词 以输出搜索结果

  主要是搜索引擎关键词提交接口,所以关键是要构造url来实现

  360

  params:字典或字节序列,作为参数添加到url中,用于过滤url的部分资源

  

  (4)网络图片的抓取和存储

  关键点是:

  1.写出存储位置

  2.图片为二进制格式,所以存储格式为二进制r.content

  

  (5)自动查询ip地址归属地

  1.ip138 URL可以手动查询ip地址

  .2 打印所有文本可能会使空闲无效,因此打印最后 500 个字符

  

  总结:

  1.案例 2 和 4 没有返回我们想要的结果,需要找出原因。

  2.写代码并不难。最重要的是要综合考虑,无论什么情况都不要报错。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线