自学人工智能:1-2 使用python写爬虫

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 用python结合selenium模块写爬虫程序简单多了,还可直接驱动浏览器,比无头浏览器更加直观,同时加深了自己对爬虫的理解。

前言

用python结合selenium模块写爬虫程序简单多了,还可直接驱动浏览器,比无头浏览器更加直观,同时加深了自己对爬虫的理解

场景

工作原因要采集1688网站上的店铺信息(突然意识到这文章是发布在阿里云栖社区,明目张胆采集马爸爸家店铺信息是不是不太好),另外访问频繁,经常需要验证码,python这时可以大显身手。

准备

部分代码

from selenium import webdriver   # 导入webdriver包  
driver = webdriver.Firefox()    # 初始化一个火狐浏览器实例,记得安装火狐浏览器 
driver.maximize_window()        # 最大化浏览器,根据需要 
driver.get("https://www.1688.com")  # 通过get()方法,打开一个url站点  
driver.quit()     #关闭并退出浏览器

然后通过css选择器、xpath等定位目标位置。
由于数据需要入库,平时经常使用mysql数据库,百度了一番,引入pymysql模块

import pymysql
# 打开数据库连接
db = pymysql.connect("localhost","testuser","test123","TESTDB" )
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute()  方法执行 SQL 查询 
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()
print ("Database version : %s " % data)
# 关闭数据库连接
db.close()

再完善代码,就可以完成店铺信息初步采集。

补充:验证码处理

一开始,尝试自己写代码识别图片验证码,首先对图片进行处理:二值化、降噪,这两步容易实现,
接着分割字符时,对于字母类型连在一起的不知道如何正确处理,于是取内容部分的宽度进行等分。
到了识别环节,查阅资料得知:有可以直接拿来用的识别库;还可以通过机器学习来训练识别验证码。
考虑到自己基础薄弱,机器学习来训练实践起来难度高,再者短期内这些知识使用频率不高,最终放弃自己写代码识别验证码。

最后的解决方案:

偷懒,选用了第三方的图片识别服务,提交验证码图片到服务商,返回正确的结果。-,-

总结

程序虽然简单,确实感受到了python代码的简洁效率,需要使用的功能,直接引入模块查询使用方法就能帮助快速完成功能。
现在仅仅会使用前辈提供的模块,通过python来实现自己想要的小功能,背后的逻辑、python的编程思维,还需逐步理解深入。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
7天前
|
数据采集 存储 API
网络爬虫与数据采集:使用Python自动化获取网页数据
【4月更文挑战第12天】本文介绍了Python网络爬虫的基础知识,包括网络爬虫概念(请求网页、解析、存储数据和处理异常)和Python常用的爬虫库requests(发送HTTP请求)与BeautifulSoup(解析HTML)。通过基本流程示例展示了如何导入库、发送请求、解析网页、提取数据、存储数据及处理异常。还提到了Python爬虫的实际应用,如获取新闻数据和商品信息。
|
11天前
|
数据采集 Python
【python】爬虫-西安医学院-校长信箱
本文以西安医学院-校长信箱为基础来展示爬虫案例。来介绍python爬虫。
【python】爬虫-西安医学院-校长信箱
|
30天前
|
数据采集 Python
爬虫实战-Python爬取百度当天热搜内容
爬虫实战-Python爬取百度当天热搜内容
65 0
|
17天前
|
数据采集 安全 Python
python并发编程:Python实现生产者消费者爬虫
python并发编程:Python实现生产者消费者爬虫
24 0
python并发编程:Python实现生产者消费者爬虫
|
29天前
|
数据采集 数据挖掘 调度
异步爬虫实践攻略:利用Python Aiohttp框架实现高效数据抓取
本文介绍了如何使用Python的Aiohttp框架构建异步爬虫,以提升数据抓取效率。异步爬虫利用异步IO和协程技术,在等待响应时执行其他任务,提高效率。Aiohttp是一个高效的异步HTTP客户端/服务器框架,适合构建此类爬虫。文中还展示了如何通过代理访问HTTPS网页的示例代码,并以爬取微信公众号文章为例,说明了实际应用中的步骤。
|
8天前
|
机器学习/深度学习 人工智能 算法
|
12天前
|
数据采集 存储 前端开发
Python爬虫如何快速入门
写了几篇网络爬虫的博文后,有网友留言问Python爬虫如何入门?今天就来了解一下什么是爬虫,如何快速的上手Python爬虫。
17 0
|
25天前
|
数据采集 存储 Web App开发
一键实现数据采集和存储:Python爬虫、Pandas和Excel的应用技巧
一键实现数据采集和存储:Python爬虫、Pandas和Excel的应用技巧
|
27天前
|
数据采集 前端开发 JavaScript
Python爬虫零基础到爬啥都行
Python爬虫项目实战全程实录,你想要什么数据能随意的爬,不管抓多少数据几分钟就能爬到你的硬盘,需要会基本的前端技术(HTML、CSS、JAVASCRIPT)和LINUX、MYSQL、REDIS基础。
20 1
Python爬虫零基础到爬啥都行
|
1月前
|
数据采集 Web App开发 数据安全/隐私保护
Python爬虫-使用代理伪装IP
介绍代理,设置代理,使用代理伪装IP案例
23 0

热门文章

最新文章