python beautifulsoup

img


就是首页这些数据,他们的数据 是嵌套在两个div标签里的,请问要怎么用beautifulsoup爬啊(就学过一点皮毛,变了样就不会了)

https://www.cbaleague.com/data/#/leaders%E8%BF%99%E4%B8%AA%E6%98%AF%E9%93%BE%E6%8E%A5

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/6209498
  • 这篇博客也不错, 你可以看下Python结合BeautifulSoup抓取知乎数据
  • 除此之外, 这篇博客: 一、 python爬虫初探(使用BeautifulSoup爬取豆瓣电影排行榜)中的 总结 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 整个爬取过程:

    获取数据
    	 1.通过url发起请求
    解析数据
    	 2.服务器返回的数据放入一个Response对象中
    	 3.将数据转换为字符串
    筛选数据
    	 4.通过BeautifulSoup把字符串解析为BeautifulSoup对象
    	 5.有两种情况:
    		(1)使用find()方法得到Tag对象
    		(2)使用find_all()方法得到ResultSet对象,实际上就是list/dict
    

    python还是非常有趣并且有用的,就拿爬虫来说,如果用得好,那么在平时的生活工作中就是一大助力;当然它也是一柄双利剑,爬取数据要遵守相应的规则,知道哪些是不能爬的,不然也可能给自己带来麻烦。
    其次就是通过这次的记录,让原本对于BeautifulSoup模糊的认识更加清晰。学习知识要知其然,也应该知其所以然,这条路还有很长要走。

  • 您还可以看一下 张日智老师的python安全开发/高级渗透技术课程中的 4.1 爬虫之初识BeautifulSoup小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    使用BeautifulSoup库爬取网页中嵌套在两个div标签内的数据,可以按照以下步骤操作: 1. 导入requests和BeautifulSoup库:

    import requests
    from bs4 import BeautifulSoup
    
    1. 获取网页内容,并将其转化为BeautifulSoup对象:
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')
    

    其中,url为目标网页的链接,response对象包含了该网页的所有信息,调用response.text可以获取网页源代码,使用BeautifulSoup可以将其转化为Soup对象,方便提取数据。 3. 通过findfind_all方法找到嵌套两个div标签内的数据:

    data = soup.find('div', {'class': 'xxx'}).find('div', {'class': 'xxx'}).get_text()
    

    其中,find方法可以找到第一个匹配的标签,find_all可以找到所有匹配的标签,括号中的第一个参数表示要找的标签名,第二个参数为该标签的属性。get_text()方法可以获取标签内的文本。如上例子中,表示找到class为'xxx'的第一个div标签,再在其中找到class为'xxx'的第一个div标签,并获取其中的文本。如果要获取标签的属性,可以使用该标签的attrs属性,如:

    href = soup.find('a', {'class': 'link'})['href']
    

    表示找到class为'link'的第一个a标签,并获取其href属性。 4. 将获取到的数据存储在列表或字典中,便于后续操作:

    result_list = []
    for item in items:
        info = {}
        info['title'] = item.find('div', {'class': 'title'}).get_text()
        info['content'] = item.find('div', {'class': 'content'}).get_text()
        result_list.append(info)
    

    以上代码可以找到所有class为'item'的标签,在其中找到class为'title'和'class'为'content'的标签,并将其存储在一个字典中,最后将字典存储在列表中。 5. 对数据进行处理和输出:

    for info in result_list:
        # do something
    

    对每个字典进行循环,进行数据处理,如存储到数据库或输出到文件等。 注意,在爬取网页时需要注意反爬措施,可以使用代理IP、User-Agent等方法规避反爬限制。