推广 热搜:   公司  企业  快速  中国  设备  上海  未来  行业   

Python对接crt采集 python采集信息

   日期:2024-10-31     移动:http://kaire.xrbh.cn/quote/2494.html


Python对接crt采集 python采集信息


文章目录

  • python爬虫-----网络数据采集
  • 一、爬虫基础案例:图片下载器
  • 遇到的问题:
  • 二、网络数据采集
  • 2.网络数据采集之requests库(常用)
  • requests方法
  • response对象
  • 高级应用一: 添加 headers
  • 2.fake_useragent:
  • 高级应用二: 代理设置
  • 报错:
  • 项目案例一: 京东商品的爬取
  • 项目案例二: 百度/360搜索关键词提交
  • 常见问题:
  • 小练习


网络爬虫抓取过程可以理解为模拟浏览器操作的过程,所以深入理解 HTTP 协议更有利于爬虫的学习,并且该部分是面试官非常喜欢问的部分,很重要,详情请见:

Python对接crt采集 python采集信息_Python对接crt采集

遇到的问题:

1.问题:[-]下载失败: http://img1.imgtn.bdimg.com/it/u=2384096151,2805439088&fm=214&gp=0.jpg
原因:反斜杠不识别
解决:遍历image_urls时将这里的反斜杠替换成空即可 理解:要把反斜杠替换为

1.网络数据采集之urllib库

2.网络数据采集之requests库(常用)

requests官方网址: https://requests.readthedocs.io/en/master/

requests方法

Python对接crt采集 python采集信息_IP_02


我们自己写一个服务器来测试,就不会有反爬

request中的 get和post

运行我们的服务器,在运行request代码

response对象

Response对象包含服务器返回的所有信息,也包含请求的Request信息。

Python对接crt采集 python采集信息_Python对接crt采集_03

高级应用一: 添加 headers

1.有些网站访问时必须带有浏览器等信息,如果不传入headers就会报错。

2.fake_useragent:

UserAgent是识别浏览器的一串字符串,相当于浏览器的身份证,在利用爬虫爬取网站数据时,频繁更换UserAgent可以避免触发相应的反爬机制。对频繁更换UserAgent提供了很好的支持,可谓防反扒利器。

UserAgent实质上是从网络获取所有的用户代理, 再通过random随机选取一个用户代理。

安装:

3.测试
自己写的服务器
启动服务器,运行代码模拟浏览器访问服务器

启动服务器,运行代码模拟浏览器访问服务器

高级应用二: 代理设置

在进行爬虫爬取时,有时候爬虫会被服务器给屏蔽掉,这时采用的方法主要有降低访问时间,通过代理IP访问。ip可以从网上抓取,或者某宝购买。

比较有名的一个免费的IP代理是:西刺IP代理 https://www.xicidaili.com/nn/

测试
服务器

报错:

1.报错:requests.exceptions.ProxyError: HTTPConnectionPool(host=‘222.95.144.65’, port=3000): Max retries exceeded with url: http://47.92.255.98:8000/ (Caused by ProxyError(‘Cannot connect to proxy.’, NewConnectionError(’<urllib3.connection.HTTPConnection object at 0x000001F379E31B70>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。’)))
原因:此IP访问次数超过限制
解决:去西刺IP重新复制新的ip和端口在测试

项目案例一: 京东商品的爬取

Python对接crt采集 python采集信息_IP_04

运行代码

目录生成一个jd.html文件

用浏览器打开

可以看到是本地的地址:

Python对接crt采集 python采集信息_Python对接crt采集_05

项目案例二: 百度/360搜索关键词提交

百度的关键词接口:https://www.baidu.com/baidu?wd=xxx&tn=monline_4_dg
360的关键词接口:http://www.so.com/s?q=keyword

1.需求分析,至少要实现两个功能:一是搜索图片,二是自动下载
2.分析网页 http://image.baidu.com/search/index?tn=baiduimage&word=cat (注意:其中可以删除不用的参数,不影响页面的加载) 源代码,配合F12
3.编写正则表达式或者其他解析器代码
4.存储数据到本地
5.正式编写python爬虫代码

页面的分析是十分重要的,不同需求对应不同的URL,不同URL的源码显然是不一样的,所以掌握如何分析页面是成功爬虫的第一步。该页面的源码分析如下图所示:

Python对接crt采集 python采集信息_数据_06

运行上面代码结果:

Python对接crt采集 python采集信息_Python对接crt采集_07

常见问题:

(1)为什么只有30张图片,百度出来的不止30张
百度图片是响应式的,不断下拉会不断加载新的图片,也就是说浏览器中的页面是经过JS处理数据后生成的结果,涉及Ajax爬虫内容在此不做详细说明。
(2)在搜索页面下点开的单个图片的 url 与程序中获取的 ObjURL 是不一致的
这可能是百度经过缓存处理的结果,每个图片本质上是“外网的”,非百度的,所以在程序中选择向真正存储图片的 url 发起 HTTP 请求。

小练习

需求分析:通过输入要搜索的关键字,获取页面并将页面保存到本地。
结果展示:输入apologize 后,将获取到的页面存入本地,打开本地的html
代码:

本文地址:http://syank.xrbh.cn/quote/2494.html    迅博思语资讯 http://syank.xrbh.cn/ , 查看更多

特别提示:本信息由相关企业自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


相关动态
推荐动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2023022329号