- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我尝试使用 Bs4 从表中选择数据并将其存储到 csv 文件中,但列是混合匹配的。我觉得 if 条件中的 HTML 语句是错误的。
def grab_daily_data(self):
url_template='http://boxofficemojo.com/movies/?page=daily&view=chart&id=%s.htm'
#url=http://www.boxofficemojo.com/movies/?page=daily&view=chart&id=hungergames3.htm #Testing
for val in self.mov_id:
print 'parsing through: %s'%val
url=url_template%val
response = requests.get(url)
soup = BeautifulSoup(response.content)
alltables=soup.findAll("table", {"border":"0", "width":"95%"})
in_mainbody=False
i=0;counter=0;test_arr=[]; change=[]
for table in alltables:
rows=table.findAll('tr')
for tr in rows:
cols=tr.findAll('td')
for td in cols:
test=td.text
if i>=17:
if counter%10==0:
print test
self.day_num.append(test)
counter+=1
i+=1
我的问题是该列向左移动 1,并且每 7 行又移动一次。
示例输出:而不是打印出来:
1
2
3
4
5
6
7
8
9
10...
打印出来:
Fri
Sat
Sun
Mon
Tue
Wed
Thu
8
9
10
11
12
13
14
最佳答案
问题是您没有到达适当的表
。
依靠图表元素,得到next table
sibling并查找其中的所有行:
from bs4 import BeautifulSoup
import requests
url = 'http://www.boxofficemojo.com/movies/?page=daily&view=chart&id=hungergames3.htm'
response = requests.get(url)
soup = BeautifulSoup(response.content)
for tr in soup.find('div', id='chart_container').find_next_sibling('table').find_all('tr')[1:]:
print [td.text for td in tr('td')]
打印:
[u'Fri', u'Nov. 21, 2014', u'1', u'$55,139,942', u'-', u'-', u'4,151', u'$13,284', u'$55,139,942', u'1']
[u'Sat', u'Nov. 22, 2014', u'1', u'$40,905,873', u'-25.8%', u'-', u'4,151', u'$9,854', u'$96,045,815', u'2']
[u'Sun', u'Nov. 23, 2014', u'1', u'$25,851,819', u'-36.8%', u'-', u'4,151', u'$6,228', u'$121,897,634', u'3']
[u'Mon', u'Nov. 24, 2014', u'1', u'$8,978,318', u'-65.3%', u'-', u'4,151', u'$2,163', u'$130,875,952', u'4']
[u'Tue', u'Nov. 25, 2014', u'1', u'$12,131,853', u'+35.1%', u'-', u'4,151', u'$2,923', u'$143,007,805', u'5']
[u'Wed', u'Nov. 26, 2014', u'1', u'$14,620,517', u'+20.5%', u'-', u'4,151', u'$3,522', u'$157,628,322', u'6']
[u'Thu', u'Nov. 27, 2014', u'1', u'$11,079,983', u'-24.2%', u'-', u'4,151', u'$2,669', u'$168,708,305', u'7']
[u'']
[u'Fri', u'Nov. 28, 2014', u'1', u'$24,199,442', u'+118.4%', u'-56.1%', u'4,151', u'$5,830', u'$192,907,747', u'8']
[u'Sat', u'Nov. 29, 2014', u'1', u'$21,992,225', u'-9.1%', u'-46.2%', u'4,151', u'$5,298', u'$214,899,972', u'9']
[u'Sun', u'Nov. 30, 2014', u'1', u'$10,780,932', u'-51.0%', u'-58.3%', u'4,151', u'$2,597', u'$225,680,904', u'10']
[u'Mon', u'Dec. 1, 2014', u'1', u'$2,635,435', u'-75.6%', u'-70.6%', u'4,151', u'$635', u'$228,316,339', u'11']
[u'Tue', u'Dec. 2, 2014', u'1', u'$3,160,145', u'+19.9%', u'-74.0%', u'4,151', u'$761', u'$231,476,484', u'12']
[u'Wed', u'Dec. 3, 2014', u'1', u'$2,332,453', u'-26.2%', u'-84.0%', u'4,151', u'$562', u'$233,808,937', u'13']
[u'Thu', u'Dec. 4, 2014', u'1', u'$2,317,894', u'-0.6%', u'-79.1%', u'4,151', u'$558', u'$236,126,831', u'14']
...
关于Python BeautifulSoup Mix 匹配表中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27793543/
任何调用 npm run升级到 Mix v4.x 后导致 mix 未定义。我在每次运行时都会看到这样的错误: > npm run development > @ development /projec
升级到 Laravel-Mix 6 之前: Laravel-Mix 版本:5.0.9(支持 Webpack 4) NPM 版本:6.14.5 通过这个 laravel 混合版本,我能够通过运行 pac
在 Laravel 5.5 中,我使用 laravel-mix 来编译我的 Assets 。 但是我不清楚:mix.js 之间有什么区别?和 mix.scripts为什么我要使用一个而不是另一个? 最
我有以下 webpack.mix.js: const { mix } = require('laravel-mix'); mix.scripts([ 'resources/assets/js/
目前,我正在寻找在运行 mix 任务时添加 SQL 语句日志记录的方法。例如,mix ecto.rollback 和 mix ecto.migrate 等命令输出信息: ... 13:45:53.01
我知道这个问题已经被问过了,答案总是单独的答案。 但是我看到 Mix.EctoSQL.ensure_started 提到了很多,这似乎是公认的方法。 然而,在 ecto_sql 3.1.2 中,此功能
mix compile ==> gettext could not compile dependency :gettext, "mix compile" failed. You can recompi
我正在使用 Laravel 5.5 ,在 webpack.mix 文件中,mix.styles 函数完美运行,我完美地编译了我的 css 文件,但是mix.scripts 不编译我在文档中找到的 js
如果我有一个mix.exs文件,例如: defmodule Mix.Tasks.My_task do use Mix.Task @shortdoc "Perform my task" de
这是我第一次使用 Laravel Mix、NodeJS 和 NPM。我试图遵循 Laravel 的文档并相信我做得对,但谁知道呢。 我正在尝试将多个 CSS 文件合并为一个。 webpack.mix.
我对系统发育回归模型比较陌生。过去,当我的树中每个物种只有 1 个条目时,我使用了 PGLS。现在我有一个包含总共 9 个物种的数千条记录的数据集,我想运行一个系统发育模型。我阅读了最常见软件包(例如
TLDR; 您是否必须链接 Laravel Mix 方法来维护执行顺序?是否有任何异步方法会阻止使用以下非链接模式,mix.scripts(); mix.js(); mix.sass(); ? 我运行
我想为支持“显示:网格”但不支持 IE/MS Edge 的浏览器提供特定部分的 CSS。你如何混合正面和负面的@support 查询? 你能写“and not”还是有类似的符号?不幸的是,以下方法不起
在生产中,加载我使用的 Assets ,例如: 并期望在编译时看到: 但是我只是看到相对路径: webpack.mix.js: mix .js('resources/assets/js/ap
有人可以向我解释一下 MIX 中的除法(来自 Knuth 的 TAOCP)是如何在字节到字节的基础上工作的吗? rA = |-| . . . .0| rX = |+|1235|0|3|1| 内存位置
我正在尝试使用我从 themeforest 与 Laravel 购买的主题 我已经使用 mix.copy 将我的字体从 node_modules 移动到我的 public 目录,这工作正常。/ 但是,
至少就在两周前,我一直在代理后面使用mix。但是我昨天发现 mix 无法在代理后面工作。混合版本是1.1.1。mix local.hex 运行。但是mix deps.get 出现错误。 $ mix d
我有一个 C++ 程序,我在其中使用递归迭代器遍历我作为参数提供给程序的文件夹。 问题是,当我在路径上调用 .string 时,我在路径中混合了\和/。使用 .generic_string 修复了这个
所以我有一个 JS 文件,我想使用 Laravel mix 进行混合、复制和压缩;我的 webpack.mix.js 文件如下所示: const mix = require('laravel-mix'
我有一个 Elixir 伞形项目。这个项目中的每个应用程序都可以使用 mix escript.build 编译成可执行文件。 我正在尝试从伞项目的根目录运行此命令并收到以下错误 ** (Runtime
我是一名优秀的程序员,十分优秀!