鱼C论坛

 找回密码
 立即注册
查看: 1393|回复: 4

[技术交流] 用Python做爬虫任务时,是否可以用BeautifulSoup取代正则表达式?

[复制链接]
发表于 2021-11-21 19:40:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
例如在下面的代码中,tags 似乎比正则表达式更好用:
  1. # Vollyball

  2. # Data from https://en.volleyballworld.com/en/vnl/2019/women/resultsandranking/round1


  3. from bs4 import BeautifulSoup
  4. import requests
  5. # import re

  6. req = requests.get('https://en.volleyballworld.com/en/vnl/2019/women/resultsandranking/round1')
  7. soup = BeautifulSoup(req.text, 'html.parser')
  8. prePattern = soup.find_all('tr', 'group')
  9. patternThrhd = 0  # We take pattern as prePattern[patternThrhd:].

  10. # Setting patternThrhd
  11. for item in prePattern:
  12.     tds = item.find_all('td')
  13.     if tds[1]['class'] == ['result--highlight']:
  14.         patternThrhd += 1
  15.     else:
  16.         break

  17. pattern = prePattern[patternThrhd:]  # pattern is the list of matches.
  18. dict = {}  # The dictionary of matches. The keywords are the numbers.

  19. # td = pattern[0].find_all('td')
  20. # print(td[3].string)
  21. example = pattern[0].find_all('td')
  22. indices = [1, 4, 5, 6, 7, 8, 10, 11]

  23. for item in pattern:
  24.     tds = item.find_all('td')
  25.     dict[int(tds[0].string.replace('\r\n                            ', ''))] = \
  26.         tuple(tds[i].string.replace('\r\n                            ', '') for i in indices)


  27. print(pattern)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-11-21 20:03:00 From FishC Mobile | 显示全部楼层
能抓耗子的就是好猫
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-21 20:06:51 From FishC Mobile | 显示全部楼层
适合自己的就是最好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-21 20:27:09 | 显示全部楼层
这个视情况而定吧,存在即合理
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-21 20:40:47 | 显示全部楼层
什么好用就用什么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-10 15:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表