Java教程

2021/5/16爬虫课第三次周复盘

本文主要是介绍2021/5/16爬虫课第三次周复盘,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

思路:
(1)
问题:爬取 海贼王吧 爬取桌面壁纸
具体步骤(分析页面)
1.我们发现要爬取的数据是图片,那么就只要找到它(每张图片)的src 就可以了
经过分析发现网页源码当中没有我们想要爬取的数据。然后我们确定它是经过ajax加载的数据
一般情况下 ajax请求都在 XHR这个选项(XMLHttpRequest)
通过network 继续找真实的数据接口
即找到真正的目标url
2.解析数据
可以把(response)数据通过json (利用json.cn)转换成Python的数据类型的字典(preview)。 然后通过key-value形式找到 每张图片的url
也可以通过正则(对(response)数据直接进行解析)

(2)
问题:通过selenium登录豆瓣
具体步骤
人怎么做,selenium就怎么做 时刻记住:先定位,再操作

(3)
问题:通过selenium获取cookie(条件:自己不久之前已登过)
具体步骤(分析页面)
获取cookies–>解析数据–>测试

随机U-A实现

from fake_useragent import UserAgent
ua = UserAgent()
print(ua.firefox)

爬虫建议

  • 尽量减少请求次数
    • 保存获取到的HTML,供查错和重复使用
  • 关注网站的所有类型的页面
    • H5页面
    • APP
  • 多伪装(随机U-A、cookie、代理IP)
  • 利用多线程分布式
    • 在不被发现的情况下我们尽可能的提高速度

selenium定位元素主要用的是属性和xpath
selenium操作元素重点注意下拉框操作
注意:要学会经常测试
5.
处理图形验证–行为验证的方法:

  • 算法
  • 打码平台
  • selenium

通过copy得来的xpath可能不准,要测试
7.
爬虫最重要的是要学会分析页面(源代码、检查[element、network(name、Request URL、response–html(json类型的字符串)、preview–Python的数据类型的字典)])
接下来的是日常挤压下来的内容
8.

  • binascii.Error: Incorrect padding 报错解决
    输入的base64编码字符串必须符合base64的padding规则
  • selenium.common.exceptions.WebDriverException: Message: ‘chromedriver‘解决
  • 如何关闭谷歌浏览器的自动更新?
  • 解决fake_useragent.errors.FakeUserAgentError: Maximum amount of retries reached问题

网页中审查元素(按F12)与查看网页源代码的区别:
所谓查看源代码,就是别人服务器发送到浏览器的原封不动的代码。
审查元素时,你看到那些,在源代码中找不到的代码,是在浏览器执行js动态生成的。
通过审查元素看到的就是最终的html代码。即:源代码 + 网页js渲染 。
10.
URL和网址的区别
网址有哪些组成?

这篇关于2021/5/16爬虫课第三次周复盘的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!