我的代码如下; source_code = requests.get(kale_url_keys) plain_text = source_code.text soup = BeautifulSoup("plain_text ") 或 r = requests.get(kale_url_keys) html = r.content soup = BeautifulSoup(html, "html.parser") 我写" soup = beautifulsoup(任何)"时,我遇到了错误; 或 解决方案 做两件事: 安装最新的稳定 Update beautifulsoup4 - 确保您在正确的Python 3.6.0环境中更新它: pip3 install beautifulsoup4 --upgrade 其他解决方案 尝试使用request.urlopen而不是html.parser lxml 我在同一版本的python上,一切正常
以下是关于 html-table 的编程技术问答
我正在使用美丽的汤来尝试刮擦网站表,并将特定列提取到CSV文件. import requests import urllib.request from bs4 import BeautifulSoup product_table = browser.page_source soup = BeautifulSoup(product_table, 'html.parser') table = soup.find_all('table')[4] table_rows = table.find_all('tr') for tr in table_rows: td = tr.find_all('td') row = [i.text for i in td] print(row) print(row)输出: [] ['', 'CANDY', 'ALBANESE CONFEC', 'Albanese Confectionery Group', 'Gumm
我有一块Python代码,它将我记录到网站上.我正在尝试提取特定表的数据,我会遇到错误,并且在线搜索后我不确定如何解决. 这是我在f.py文件中写的代码: import mechanize from bs4 import BeautifulSoup import cookielib import requests cj = cookielib.CookieJar() br = mechanize.Browser() br.set_cookiejar(cj) br.open("http://kingmedia.tv/home") br.select_form(nr=0) br.form['vb_login_username'] = 'abcde' br.form['vb_login_password'] = '12345' br.submit() a = br.response().read() url = br.open("http://kingmedia.tv/h
我正在尝试使用Google Apps脚本的XLMService刮擦HTML表数据,其中哪个功能对我来说是新的.但是我遇到了一个错误,"异常:第4行上的错误:元素类型" n.length"必须遵循属性规格,">"或"/>".这是由于本网站上的某些内容与XLMService不兼容吗?感谢您的建议! function test() { const url = 'https://www.tsa.gov/coronavirus/passenger-throughput'; const res = UrlFetchApp.fetch(url, { muteHttpExceptions: true }).getContentText(); var res1 = XmlService.parse(res); } 解决方案 基于这个答案/p> function test() { const url = 'https://www.tsa.gov/coronavirus/pass
我认为我真的很接近,因此任何帮助都将不胜感激.试图从纳斯达克主页上的标题为"股票市场活动"的表中刮擦索引和价值数据: def get_index_prices(NASDAQ_URL): html = urlopen(NASDAQ_URL).read() soup = BeautifulSoup(html, "lxml") for row in soup('table', {'class': 'genTable thin'})[0].tbody('tr'): tds = row('td') print "Index: %s, Value: %s" % (tds[0].text, tds[1].text) print get_index_prices('http://www.nasdaq.com/') 错误读取: 列表索引超出范围 解决方案 此表由JavaScript呈现.如果您查看页面源
这个网站 tr标签,我有5 td标签,对于其他一些标签,我有或多或少有td标签,因此,根据其数据,请精确地刮擦数据并不容易列. 在这里,您可以看到代码的一部分,该代码仅提取与一行相关的数据,而不是保留空单元的空值. soup = BeautifulSoup(page.content, 'lxml') # Parse the HTML as a string table = soup.find_all('table')[0] # Grab the first table new_table = pd.DataFrame(columns=range(0,10), index = [0]) # I know the size row_marker = 0 for row in table.find_all('tr'): column_marker = 0 columns = row.find_all('td') for column in column
我正在抓取此 page 我的Android应用程序.我想在城市和区域代码表上提取数据 这是我的代码: from bs4 import BeautifulSoup import urllib2 import re base_url = "http://www.howtocallabroad.com/taiwan/" html_page = urllib2.urlopen(base_url) soup = BeautifulSoup(html_page) codes = soup.select("#codes tbody > tr > td") for area_code in codes: # print td city and area code 我想知道python或BeautifulSoup中的什么功能从value 获取值 对不起,只是一个Android Dev学习写Python 解决方案 您可以使用findAll(),以及将列
我正在尝试解析我的大学提供的课程时间表,以便将信息导入某种日历. 时间表的一个示例可以在这里看到: 在我看来, 自动生成的HTML含量是一团糟,很难掌握.例如.这些表主要是用rowspans和colspans构建的(代码中的单元格与浏览器中的实际视觉位置相比,似乎是部分任意的). 我已经尝试了什么: 要求大学的行政办公室提供更简单,更易于单独阅读的文件.当然,这是不可能的,毕竟这意味着一分钟的额外努力. 研究用于生成HTML的原始工具.它被称为" Sked Stundenplan软件".我找不到任何提示或工具来"扭转"生成过程. 寻找现有的解决方案,这时我找到了一些工具(例如用PHP解析HTML(主要是使用DOMDOCUMENT).有时奏效了,但是太不可靠了……要考虑的例外似乎是不确定的. 现在,我认为传统的HTML解析不会使我走得更远,至少在可接受的发展时间内. 我正在寻找的其他方法是从复杂的HTML表中获取信息的其他方法,例如YQL,也许可以用Col-/
我正在制作一个Java程序,该程序启动时需要从网站读取数据. 所讨论的网站是: 要访问所需的表,在页面底部附近有一个按钮,标题为"负载原始数据".单击时,将显示我需要的信息的表. 尽管我以前从未做过它,但我相信我可以很容易地学习如何解析桌子并将其放入一些阵列.不过,我无法弄清楚的是如何让程序"单击"该按钮以使表显示.我该怎么做? 编辑:这是我现在正在使用的.目前,这绝对没有打印,我怀疑这是因为jsoup没有看到表,因为"加载原始数据"按钮尚未被"单击". for (Element table : doc.select("table[id=chart_table]")) { for (Element row : table.select("tr:gt(2)")) { Elements tds = row.select("td:not([rowspan])"); for (Element element : tds) {
我试图在带有美丽汤的Ajax页面上刮擦一张桌子,并用文字图书馆将其打印在桌子上. import BeautifulSoup import urllib import urllib2 import getpass import cookielib import texttable cj = cookielib.CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) urllib2.install_opener(opener) ... def show_queue(): url = 'https://www.animenfo.com/radio/nowplaying.php' values = {'ajax' : 'true', 'mod' : 'queue'} data = urllib.urlencode(values) f = opener.open
请告知我是否在幻觉...我希望如此,因为我无法根据浏览器正确渲染桌子,希望有人可以为我提供解决方案. 我的问题是,有些桌子没有显示使用Webkit(即Safari和Chrome)的浏览器的右侧边框.我正在使用的Safari版本是4.0.4(531.21.10),根据帮助下的菜单项.根据Google的网站,我正在使用的Chrome版本是最新的,但是我找不到在帮助下的"关于"菜单选项以确认版本... 有问题的表是那些根据列数使用ColSpan属性的表.如果表具有两个或更少的colspan列,则表可以用右边框正确显示.如果表具有与Colspan的3列或更多列,则该表显示带有缺失的右侧边框的表.如果表没有Colspan,则表可正确显示,无论列数量如何.为什么列的数量以及Colspan属性与中国的鸡蛋价格有任何关系? btw:桌子在IE,FF和Opera中正确渲染...问题仅在Safari和Chrome中... 这是正确显示的两个列示例的HTML源:
在将table-layout:fixed应用于表上并在单元格上使用填充时,我会得到不同的结果. IE和Firefox似乎通过将细胞宽度和填充物添加在一起可以正常工作. Chrome和Safari仅使用细胞宽度.我看到这个问题有一个错误,但找不到任何解决方法.有人知道如何解决吗? webkit bugzilla:table { width:200px; border-collapse:collapse; } #table-1 { table-layout:auto; } #table-2 { table-layout:fixed; } td { padding:5px 10px; } td.set-width { width:15px; } .box { width:15px; height:15px; background-color:red; }
Table-Layout: Auto