Python3.6爬虫集合 xpath bs4 re 爬51job前程无忧招聘信息 豆瓣音乐等等

本文主要是介绍Python3.6爬虫集合 xpath bs4 re 爬51job前程无忧招聘信息 豆瓣音乐等等,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

总结一下这两天自己写的爬虫,之前一直用框架爬虫,感觉有必要熟练最基础的没有框架爬虫才能让我更好理解框架,代码在链接内,代码中都有详细的注释

1. 发送邮件,这里选择发送网页邮件,其他邮件发送可以看廖雪峰老师的教程

    * 邮件协议为SMTP,端口为25
    * 需要模块 email(构造邮件) smtplib(发送邮件)
    *  代码传送门
    * 无具体注意事项


2. xpath爬取豆瓣音乐
    * 不利用框架,网页解析可以用正则(re),lxml或者bs,正则爬虫确实比较费劲,需要仔细点,其中lxml解析快,语法也简单,因此选用lxml
    * / 从根节点开始扫描
        // 从当前节点开始向后扫描
        /text() 获取该节点的文本内容
        . 选择当前节点
        .. 选取当前节点的父节点
    * 选取豆瓣音乐的前250条(豆瓣图书类似)
    * 安装xpth helper插件可以copy xpth,能检查自己写的对不对
    * 需要模块 lxml 一般都利用其中的etree.HTML
    *  代码传送门
    

3. 爬取猪八戒数据并切防止ip被封,并把数据存入excel中
    * 需要模块bs4 requests lxml xlwt xlrd
    *  IP生成器传送门地址取自国内高匿名代理IP网站
    *  代码传送门

4. 模拟登录知乎
    * 需要模块 Selenium
    * 此次用的火狐浏览器登录,因为火狐驱动和浏览器没有版本限制,需要将driver放在python.ext同级目录下,如若还不行就将火狐添加到Path中   driver驱动传送门
    *  代码传送门
    
5. 分析朋友QQ空间状态
    * 需要用到的模块selenium lxml wordcloud(词云) matplotlib(生成词云图片) jieba分词
    * 需要注意利用webdriver选取ifame,否则出现可能找不到控件问题,具体代码有注释driver.switch_to.frame
    *  需要的ttf字体资源传送门
    *  代码传送门
    * 上述代码是对指定的QQ好友空间内容获取,写入文件,然后才用词云进行分析
    *  词云分析传送门其实用不用结巴分词都可以,词云分析这里就简单的展示了一下,没有对数据进行清洗

 


6. 爬取指定人微博数据
    * 需要的模块 Selenium lxml
    * 需要模拟登录微博,然后再对指定人的微博页进行爬取数据,不登录微博只能爬取一页数据,貌似现在第一次在浏览器登录微博后会有个手机验证,此时模拟不是第一次在该浏览器登录
    * 爬取完后再通过之前的词云分析代码分析
    *  代码传送门
    
7. 根据输入条件爬取相亲网站上的美女并下载对应美图和记录详细信息
    * 需要用到的模块 Selenium
    * 没有下一页,往下滑能一直加载,需要F12到network中查看,对应有page属性的其实

    * 代码传送门

8. 爬取前程无忧上的招聘信息
    * 三种方式爬取,bs4、xpath、re
    * xpath方式:模拟搜索,用户输入需要找的职位进行爬取,模拟点击下一页代码传送门
    * bs4方式:对网址分析,用户输入职位,按固定页数进行分页爬取代码传送门
    * re方式:正则这块确实有点坑代码传送门

这篇关于Python3.6爬虫集合 xpath bs4 re 爬51job前程无忧招聘信息 豆瓣音乐等等的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/840018

相关文章

C#如何在Excel文档中获取分页信息

《C#如何在Excel文档中获取分页信息》在日常工作中,我们经常需要处理大量的Excel数据,本文将深入探讨如何利用Spire.XLSfor.NET,高效准确地获取Excel文档中的分页信息,包括水平... 目录理解Excel中的分页机制借助 Spire.XLS for .NET 获取分页信息为什么选择 S

springboot3.x使用@NacosValue无法获取配置信息的解决过程

《springboot3.x使用@NacosValue无法获取配置信息的解决过程》在SpringBoot3.x中升级Nacos依赖后,使用@NacosValue无法动态获取配置,通过引入SpringC... 目录一、python问题描述二、解决方案总结一、问题描述springboot从2android.x

Python多任务爬虫实现爬取图片和GDP数据

《Python多任务爬虫实现爬取图片和GDP数据》本文主要介绍了基于FastAPI开发Web站点的方法,包括搭建Web服务器、处理图片资源、实现多任务爬虫和数据可视化,同时,还简要介绍了Python爬... 目录一. 基于FastAPI之Web站点开发1. 基于FastAPI搭建Web服务器2. Web服务

Java 的ArrayList集合底层实现与最佳实践

《Java的ArrayList集合底层实现与最佳实践》本文主要介绍了Java的ArrayList集合类的核心概念、底层实现、关键成员变量、初始化机制、容量演变、扩容机制、性能分析、核心方法源码解析、... 目录1. 核心概念与底层实现1.1 ArrayList 的本质1.1.1 底层数据结构JDK 1.7

C++中unordered_set哈希集合的实现

《C++中unordered_set哈希集合的实现》std::unordered_set是C++标准库中的无序关联容器,基于哈希表实现,具有元素唯一性和无序性特点,本文就来详细的介绍一下unorder... 目录一、概述二、头文件与命名空间三、常用方法与示例1. 构造与析构2. 迭代器与遍历3. 容量相关4

Redis中的有序集合zset从使用到原理分析

《Redis中的有序集合zset从使用到原理分析》Redis有序集合(zset)是字符串与分值的有序映射,通过跳跃表和哈希表结合实现高效有序性管理,适用于排行榜、延迟队列等场景,其时间复杂度低,内存占... 目录开篇:排行榜背后的秘密一、zset的基本使用1.1 常用命令1.2 Java客户端示例二、zse

Java集合之Iterator迭代器实现代码解析

《Java集合之Iterator迭代器实现代码解析》迭代器Iterator是Java集合框架中的一个核心接口,位于java.util包下,它定义了一种标准的元素访问机制,为各种集合类型提供了一种统一的... 目录一、什么是Iterator二、Iterator的核心方法三、基本使用示例四、Iterator的工

Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题

《Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题》在爬虫工程里,“HTTPS”是绕不开的话题,HTTPS为传输加密提供保护,同时也给爬虫带来证书校验、... 目录一、核心问题与优先级检查(先问三件事)二、基础示例:requests 与证书处理三、高并发选型:

Java JUC并发集合详解之线程安全容器完全攻略

《JavaJUC并发集合详解之线程安全容器完全攻略》Java通过java.util.concurrent(JUC)包提供了一整套线程安全的并发容器,它们不仅是简单的同步包装,更是基于精妙并发算法构建... 目录一、为什么需要JUC并发集合?二、核心并发集合分类与详解三、选型指南:如何选择合适的并发容器?在多

python语言中的常用容器(集合)示例详解

《python语言中的常用容器(集合)示例详解》Python集合是一种无序且不重复的数据容器,它可以存储任意类型的对象,包括数字、字符串、元组等,下面:本文主要介绍python语言中常用容器(集合... 目录1.核心内置容器1. 列表2. 元组3. 集合4. 冻结集合5. 字典2.collections模块