我正在做的项目有些卡住。我试图通过网络抓取一个网站,以获取所有演员表及其角色。
我成功地从Wiki页面上获取演员表和角色,并获取它们打印出他们的个人Wikipedia页面。
我的问题是,是否可以制作一个使用循环来生成Wiki的程序?
接下来,我想使用循环从他们的个人维基百科页面上抓取每个actors/actresses
来抓取他们的年龄,并且是谁?
完整的代码工作并输出我要求的内容后,我需要通过创建一个csv文件使其打印到创建的csv文件中来获得帮助。
谢谢。
from urllib.request import urlopen
from bs4 import BeautifulSoup
import pandas as pd
url = 'https://en.wikipedia.org/wiki/Law_%26_Order:_Special_Victims_Unit'
html = urlopen(url)
bs = BeautifulSoup(html, 'html.parser')
上面的代码导入了我要使用的库,并具有我要抓取的url
:
right_table=bs.find('table', class_='wikitable plainrowheaders')
table_rows = right_table.find_all('td')
for row in table_rows:
try:
if row.a['href'].startswith('/wiki'):
print(row.get_text())
print(row.a['href'])
print('-------------------------')
except TypeError:
pass
这是在我添加以下打印语句之前,我认为有一种创建列表的方法,然后创建一个循环来抓取打印位置"/wiki/...."
right_table=bs.find('table', class_='wikitable plainrowheaders')
table_rows = right_table.find_all('td')
for row in table_rows:
try:
if row.a['href'].startswith('/wiki'):
print(row.get_text())
link = ('https://en.wikipedia.org/'+ row.a['href'])
print(link)
print('-------------------------')
except TypeError:
pass
上面的代码当前可以打印Cast及其分配的Wikipedia页面,但是我不确定这是否是编写方法。在将所有结果放入CSV
中进行检查并确保我打印出正确的代码之前,我还要先打印结果。
def age_finder(url):
...
return age
上面的代码我不确定将"..."
放在哪里以帮助恢复年龄
for url in url_list:
age_finder(url)