【问题标题】:Crawling data from a div从 div 抓取数据
【发布时间】:2021-08-27 09:52:36
【问题描述】:

早上好,当我想从 div 中抓取数据时,我遇到了一些小问题。例如,我在网站上有一个结构,例如:

<div class="score-result">
Player1Name
Player1Surname
<div>score</div>
</div>

我想获得球员的姓名、姓氏和得分。我是这样写的,但它什么也没有打印出来。

def trade_spider(max_hall,max_period):
    hall=2
    period=1
    while hall <= max_hall:
        url ='https://tabletennis.setkacup.com/en/schedule?date=2021-08-27&hall=' +str(hall)+'&'+'period='+str(period)
        source_code = requests.get(url)
        plain_text=source_code.text
        soup=BeautifulSoup(plain_text, "html.parser")
        for link in soup.findAll('table', {'class': 'score-result'}):
            score = link.get('score-result')
            print(score)
            hall=+1
            period=+1

【问题讨论】:

  • 我检查了plain_text 并且没有具有score-result 类的表格元素。
  • 你检查了吗?
  • @Xitiz,我认为这是检查元素的结果。但请检查请求结果。它不存在。
  • 我想从 div class="score-result" 获取所有信息,我也尝试将其称为 div 但不起作用。 gyazo.com/5d17ddb5960e7339db7d015971890159
  • @JimmyFrutado 请发布您想从中获取姓名和分数的div 的屏幕截图

标签: python beautifulsoup web-crawler


【解决方案1】:

请在您这边检查此代码。

import requests
import os
import time
from bs4 import BeautifulSoup
from selenium import webdriver


service = webdriver.chrome.service.Service(os.path.abspath('chromedriver'))
service.start()
option = webdriver.ChromeOptions()


driver = webdriver.Chrome(os.path.abspath('chromedriver'), options=option)

hall = 2
period = 1
while hall <= 5:
    url = 'https://tabletennis.setkacup.com/en/schedule?date=2021-08-27&hall=' + \
        str(hall)+'&'+'period='+str(period)
    driver.get(url)
    time.sleep(5)
    divs = driver.find_elements_by_css_selector("div.score-result")
    for div in divs:
        # you can add this code
        try :
            fund = div.find_element_by_tag_name("div").text
            print(fund)
        catch :
            pass

        print(div.text)

    hall = hall + 1

希望对你有所帮助。

【讨论】:

  • 我在使用 webdriver 时遇到了一些小问题,但我回家后会尝试解决这个问题。无论如何感谢帮助的朋友! gyazo.com/9754c693063c7338c65dd78e5a8d0f83
  • 如果对你有帮助,请给我投票并勾选我的答案。谢谢。
  • 感谢您的购票。我也希望投票。再次感谢。
  • 抱歉造成混淆,但要正确运行此代码,我应该只安装 webdriver?这一切吗?并在这里给出他的路径:os.path.abspath?
  • 我有一个关于这个问题的最后一个问题,gyazo.com/714b878efaf401f1159edd94f8618e34 我有 div 得分结果,在这个下面有一个没有类的 div。我想从他那里获取数据到另一个变量,可以吗?我试图引用 div $0 但它不起作用:/
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-24
  • 2018-06-10
  • 2018-06-06
相关资源
最近更新 更多