Когда вы делаете WebRequest, вы просите сервер предоставить вам файл с образцом, содержимое этого файла еще не было разобрано / выполнено веб-браузером, и поэтому javascript на нем еще ничего не сделал.
Вам нужно использовать инструмент для выполнения JavaScript на странице, если вы хотите увидеть, как выглядит страница после анализа в браузере. Один из вариантов - использование встроенного веб-браузера .net: http://msdn.microsoft.com/en-au/library/aa752040 (v = vs.85) .aspx
Элемент управления веб-браузером может перемещаться и загружать страницу, а затем вы можете запросить его DOM, который будет изменен JavaScript на странице.
EDIT (пример):
Uri uri = new Uri("http://www.somewebsite.com/somepage.htm");
webBrowserControl.AllowNavigation = true;
// optional but I use this because it stops javascript errors breaking your scraper
webBrowserControl.ScriptErrorsSuppressed = true;
// you want to start scraping after the document is finished loading so do it in the function you pass to this handler
webBrowserControl.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowserControl_DocumentCompleted);
webBrowserControl.Navigate(uri);
private void webBrowserControl_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
HtmlElementCollection divs = webBrowserControl.Document.GetElementsByTagName("div");
foreach (HtmlElement div in divs)
{
//do something
}
}
Здесь:
for row in df.itertuples():
print(row.num_legs)
# print(row.num_wings) # Other column values
# Output
4
2
Я столкнулся с той же ошибкой при использовании переменной.
v = 'num_legs'
for row in df.itertuples():
print(row[v])
TypeError: tuple indices must be integers or slices, not str
Использовать df.itertuples()
и использовать имя атрибута в качестве переменной.
v = 'num_legs'
for row in df.itertuples():
print(getattr(row, v))
В конце df.itertuples()
быстрее, чем df.iterrows()
.
вы можете использовать iterrows()
,
for u,row in df.iterrows():
print(u)
print (row)
print (row['num_legs'])
O / P:
dog
num_legs 4
num_wings 0
Name: dog, dtype: int64
4
hawk
num_legs 2
num_wings 2
Name: hawk, dtype: int64
2