当前位置:   article > 正文

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

如何用ai敲代码,写爬虫?

前言

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

场景

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

准备

部分代码

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

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

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

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

补充:验证码处理

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

最后的解决方案:

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

总结

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/344009
推荐阅读
相关标签
  

闽ICP备14008679号