喜欢吃西瓜瓤 2023-05-16 15:29 采纳率: 50%
浏览 32

python 爬虫问题

需求是这样的,我需要从网站上爬取马匹的信息,当我爬取完一匹马的信息,要去爬取它的父母的信息,以及它父母的父母.以此类推下去,每次爬取完父母信息添加到数据库后,在子女的父母字段添加对应的id(刚添加的父母信息中取的id)。
当前有两个网站,一个网站是马匹的详细信息,也就是需要获取数据向数据库里面添加信息的网站,它的网站名格式是这样的 www.mapi.com/edit/马匹名称,下图为网站实图

img

另一个网站可以获取到马匹父母名称的网站,(有了名称就可以根据名字访问到第一个马匹详细信息的网站),它的网站名格式是这样的 www.mapi.com/马匹名称,下图为网站实图(画圈处为父母名称,后面的内容不用看)

img

我怎么才能在添加完一个马匹,同时添加完他的父母的信息后,在去添加父亲的父母,母亲的父母.以此类推下去添加到第一匹马的祖宗?使用递归吗?没思路,应该怎么写啊.

本人刚接触爬虫,望各位伸出援手~

  • 写回答

1条回答 默认 最新

  • 技术宅program 2023-05-16 17:44
    关注

    Python爬虫常见的问题包括:

    1. 被反爬虫机制屏蔽:许多网站为防止爬虫activities会部署反爬虫机制,如IP限制、User-Agent检测等,这会导致爬虫被屏蔽无法访问。
      解决方法:
    • 使用随机User-Agent:随机 masquerade 成正常用户
    • 设置代理IP:使用代理IP随机变换IP访问
    • 设置 time.sleep() 函数控制访问频率,降低访问强度
    1. 数据提取失败:由于网页代码更新导致原有的XPath或CSS选择器无法定位到数据,造成数据提取失败。
      解决方法:
    • 人工分析网页代码,更新选择器规则
    • 使用更加稳定的数据抓取规则,如正则表达式等
    • 采用机器学习或深度学习方法自动生成抓取规则
    1. 被ban:部分网站会根据爬虫特征对爬虫进行 fingerprints 封禁,导致ip被加入黑名单,无法访问。
      解决方法:
    • 使用代理IP rotation 随即变换代理地址
    • 降低爬取频率,reduce 访问强度
    • 模拟真实用户行为,设置随机点击与浏览等行为
    • 改变爬虫特征,如随机变换 User-Agent 等
    1. 数据存储失败:爬取的数据量过大,超出存储空间,造成数据存储失败。
      解决方法:
    • 提高数据库存储空间
    • 使用其他大容量存储方式,如HDFS
    • 优化储存结构,压缩存储数据
    • 过滤冗余数据,只储存关键信息
      除此之外,爬虫启动失败、运行缓慢等也是比较常见的问题,主要原因是环境配置问题或网络问题,需要检查系统环境与网络连接。
      总之,Python爬虫在实际运行中常会遇到各种问题,重要的是要分析问题根源,并采取相应的解决方法修复问题,才能确保爬虫系统稳定高效运行。如果您的爬虫也遇到问题,可以根据问题现象查找上述或其他对应的解决方案。也欢迎与我联系,我很乐意为您提供更详细的帮助。
    评论

报告相同问题?

问题事件

  • 修改了问题 5月16日
  • 创建了问题 5月16日

悬赏问题

  • ¥30 模拟电路 logisim
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价