第十四章 web前端开发小白学爬虫

本文分享了一个IT老手从零开始学习爬虫的经历,强调了前端基础知识的重要性,详细介绍了使用Python和相关工具进行网页爬取的步骤,包括HTTP协议、cookies、html标记等,并通过实例展示了如何实现自动点赞。

老猿从事IT开发快三十年了,接触互联网也很久了,但自己没有做过web前端开发,只知道与前端开发相关的一些基本概念,如B/S架构、html标签、js脚本、css样式、xml解析、cookies、http协议等,但并不熟悉这些概念的真正内容,可以说在web前端开发方面还是一个真正的小白。这导致老猿很有兴趣的投入爬虫学习后,发现网上别人的经验并不能完全适合自己的情况。
基于这种情况,老猿恶补了一些相关的知识,主要是http协议、cookies、html标记等相关的内容,可是看了之后,概念和知识都有了,但怎么用起来却还是不得要领。
老猿学爬虫最开始的动机是想解决在本机已经登录访问网站的情况下,怎么通过Python复用这个登录的信息去访问该网站。为什么非要复用这个信息呢?主要是现在很多网站都是通过第三方账号如微信授权登录,而老猿暂时没有去研究第三方账号授权登录的过程,就想直接使用已登录信息从而免去登录相关的开发。
为此老猿查了很多资料,网上提供的案例要么就是直接通过账号登录获取cookie信息保存、要么就是不登录直接爬取信息,与老猿的想法存在一些差距。为此不得基于学习的知识去进行各种尝试,最终终于弄明白怎么去使用这些知识。一旦明白了之后,就发现这个其实挺容易的,就象往外看隔了一张白纸,白纸没捅破前怎么也看不见,一旦知道白纸要捅破之后这个事情就非常容易了。
老猿不禁在想,网上那么多文章,怎么就找不到这方面介绍的文章。想来要么是大佬们觉得这个知识太白痴,懒得去说,要么就是前人们没想用老猿这种偷懒的方式去访问网站,直接模拟网站登录解决问题了,当然还有一个可能就是搜索引擎没有搜索到,老猿有一篇文章《Python正则表达式re.search(r’*{3,8}’,‘’)和re.search(’*{3,8}’,'’)的匹配结果为什么相同?》可能特殊符号太多通过标题或标题的部分内容去百度搜索却怎么也搜索不到该博文的内容。
零零散散、啰啰嗦嗦说了这么多,其实想说明的是要学爬虫还是需要一些前端开发的基础知识,以支持按自己一些独特的想法来爬取内容,基本没有可以完全复制的成功经验供你直接使用。但学爬虫对前端开发的了解不会要求很深,知道一些基本知识就可以了,老猿本章要介绍的内容是对前端开发小白们提供一个完整的爬虫学习之路,使得小白知道该按怎样的路线去实现自己定制的爬虫之路,而不是一个单纯的已有案例的实现。
本章准备介绍老猿推荐的网页爬虫的学习过程,最后以两种不同方式实现优快云博文进行点赞的案例。

本章内容如下:

第14.1节 通过Python爬取网页的学习步骤

第14.2节 HTML知识简介

第14.3节 使用google浏览器获取网站访问的http信息

第14.4节 使用IE浏览器获取网站访问的http信息

第14.5节 利用浏览器获取的http信息构造Python网页访问的http请求头

第14.6节 Python模拟浏览器访问网页的实现代码

第14.7节 Python模拟浏览器访问实现http报文体压缩传输

第14.8节 Python中使用BeautifulSoup加载HTML报文

第14.9节 Python中使用urllib.request+BeautifulSoup获取url访问的基本信息

第14.10节 Python中使用BeautifulSoup解析http报文:html标签相关属性的访问

第14.11节 Python中使用BeautifulSoup解析http报文:使用查找方法快速定位内容

第14.12节 Python中使用BeautifulSoup解析http报文:使用select方法快速定位内容

第14.13节 BeautifulSoup的其他功能导览

第14.14节 爬虫实战准备:csdn博文点赞过程http请求和响应信息分析

第14.15节 爬虫实战1:使用Python和selenium实现csdn博文点赞

第14.16节 爬虫实战2:赠人玫瑰,手留余香! request+BeautifulSoup实现csdn博文自动点赞

第14.17节 爬虫实战3: request+BeautifulSoup实现自动获取本机上网公网地址

第14.18节 爬虫实战4: request+BeautifulSoup+os实现利用公众服务Wi-Fi作为公网IP动态地址池

第14章 web前端开发小白学爬虫结束语

注:

老猿在2019年就开放了免费的爬虫专栏,相关实战文章都是以爬取优快云文章介绍,但2020年优快云进行改版之后,相关实战文章实际已经失去了意义。因此在原有爬虫基础上,结合最新情况重新撰写爬虫专栏《Python爬虫入门》,并将进一步增加实战文章内容。该专栏介绍爬虫入门的基础知识,以及爬取优快云文章信息、博主信息、给文章点赞、评论等实战内容。不过该专栏为9.9元的付费专栏,请大家酌情考虑。

老猿Python,跟老猿学Python!
博客地址:https://blog.youkuaiyun.com/LaoYuanPython

老猿Python博客文章目录:https://blog.youkuaiyun.com/LaoYuanPython/article/details/98245036
请大家多多支持,点赞、评论和加关注!谢谢!

### Python Web 开发中与爬虫技术和前端页面框架相关的技术栈 #### 1. 爬虫技术 Python爬虫技术主要用于从互联网上自动获取数据。以下是常用的工具和技术: - **Scrapy**: Scrapy 是一个功能强大且成熟的爬虫框架,专为大规模的数据抓取设计[^1]。它提供了一整套完整的解决方案,包括请求调度、数据解析、存储等核心功能。 - **Requests 和 BeautifulSoup**: Requests 是一个简单易用的 HTTP 请求库,BeautifulSoup 则专注于 HTML/XML 文档的解析和导航[^2]。两者结合可以方便地抓取网页内容并提取结构化信息。 - **Selenium**: 当目标网站依赖 JavaScript 动态加载内容时,传统的静态爬虫可能无法正常工作。此时 Selenium 成为了有力的选择,它可以驱动浏览器执行脚本以模拟真实用户的操作行为。 #### 2. 前端页面框架及相关技术 在 Python Web 开发中,前后端分离逐渐成为主流趋势。以下是一些常见的前端框架及其配合使用的后端技术: - **React.js / Vue.js / Angular**: 这三种都是当今最流行的前端 JavaScript 框架/库,在单页应用 (SPA) 场景下表现尤为突出[^3]。它们通常会搭配 RESTful API 或 GraphQL 接口与后端通信。 - **Jinja2**: 如果采用传统的一体化架构,则 Jinja2 是 Django 和 Flask 中默认推荐的模板引擎之一[^1]。它允许嵌入 Python 表达式到 HTML 文件里,从而实现动态生成网页的效果。 - **Bootstrap**: Bootstrap 是一套响应式的 CSS 框架,能帮助开发者快速构建美观大方的用户界面布局。即使不精通视觉设计也能借助它的预定义样式类迅速搭建原型系统。 --- ```python # 示例:基于 Scrapy 的简单爬虫示例 import scrapy class ExampleSpider(scrapy.Spider): name = 'example' start_urls = ['http://www.example.com'] def parse(self, response): yield {'title': response.css('h1::text').get()} ``` ```html <!-- 示例:使用 Jinja2 渲染的 HTML --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>{{ title }}</title> </head> <body> <h1>Hello, {{ user_name }}!</h1> </body> </html> ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LaoYuanPython

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值