相关文章推荐
玩命的烤地瓜  ·  JMeter(5) ...·  10 月前    · 
痴情的上铺  ·  【IO系列】 ...·  1 年前    · 

问题描述:

爬取新浪体育上的NBA球队信息,使用bs4爬取html的时候发现球队名称及链接python获取不到,但是chromeF12是可以看到的

url_downed = urlopen(response)
html = BeautifulSoup(url_downed,features="html.parser")
html_teams = html.select('a[href*="//slamdunk.sports.sina.com.cn/team?tid="]')
# 这里select不到内容,但是下图中可以看到

在这里插入图片描述
这是因为内容在JavaScript的代码中,为了能让我们看到其中的内容,浏览器会对JavaScript代码进行渲染,得到其中的内容后再呈现到我们面前。然而,爬虫程序无法对HTML文件中的JavaScript代码进行渲染。因此,如果我们的目标镶嵌在JavaScript中,那么我们爬到的数据往往就会缺少目标内容。

1. requests-html

requests-html是一个轻量级的HTML解析模块,可以让我们模仿浏览器的行为,隐式地渲染js内容(即打开浏览器,渲染,点击等动作不会在前台展示过程,类似于selenium,只不过更轻量级)
pip install requests-html安装模块

修改之前的代码为:

session = HTMLSession()
first_page = session.get('https://slamdunk.sports.sina.com.cn/roster')
first_page.html.render(sleep=0.5) # 留出网页渲染的时间
html = BeautifulSoup(first_page.html.html, features="lxml") # 这里要用lxml
html_teams = html.select('a[href*="//slamdunk.sports.sina.com.cn/team?tid="]')
                    问题描述:爬取新浪体育上的NBA球队信息,使用bs4爬取html的时候发现球队名称及链接python获取不到,但是chromeF12是可以看到的url_downed = urlopen(response)html = BeautifulSoup(url_downed,features="html.parser")html_teams = html.select('a[href*="//slamdunk.sports.sina.com.cn/team?tid="]')# 这里select不到内容,但
				
复制代码 代码如下:# coding=utf-8 from BeautifulSoup import BeautifulSoup, Tag, NavigableString from SentenceSpliter import SentenceSpliter from os.path import basename,dirname,isdir,isfile from os import makedirs from shutil import copyfile import io import time import re class build_tpl:     def __init__(s
from bs4 import BeautifulSoup f = open("word.txt", "r") # 设置文件对象 html = f.read() # 将txt文件的所有内容读入到字符串html中 soup = BeautifulSoup(html, 'lxml') # 获取a标签里的文本内容 for item in soup.find_all("a"): print(item.string) # 将单词写入five_star.txt 文件 with open('five_star.txt', 'a', 我是PythonBeautifulSoup的粉丝。 它功能丰富且非常易于使用。 但是,当我在做一个小型的本机项目时,我试图找到像BeautifulSoup这样HTML解析器库,但失败了。 因此,我想编写一个HTML解析器库,它就像Javascript中的BeautifulSoup一样易于使用。 JSSoup使用作为HTML dom解析器,并在其之上创建一系列类似API的BeautifulSoupJSSoup支持node和react-native 。 JSSoup尝试使用与BeautifulSoup相同的接口,以便BeautifulSoup用户可以无缝使用JSSoup。
BeautifulSoup库介绍 BeautifulSoup也是一个解析库 BS解析数据是依赖解析器的,BS支持的解析器有html.parser,lxml,xml,html5lib等,其中lxml解析解析速度快,容错能力强 BS现阶段应用的解析器多数是lxml BeautifulSoup 使用步骤: from bs4 import BeautifulSoup soup = BeautifulSo...
Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间. 一、VScode导入BeautifulSoup库 因为电脑环境不相同,你VScode使用的python和本地的python可能不是同一个 1.找到VScode运行的python 在VScode下随便运行一个python脚本,出现的黄色的路径就是VScode运行的python 2.找到该路
Python上有一个非常著名的HTTP库——requests 现在requests库的作者又发布了一个新库,叫做requests-html,看名字也能猜出来,这是一个解析HTML的库 (只支持python3.6及以上) https://cncert.github.io/requests-html-doc-cn/#/?id=user_agent 安装很简单,直接pip install re...