网页抓取和Csv制作

时间:2020-05-11 07:37:03

标签: python web screen-scraping

我正在做的项目有些卡住。我试图通过网络抓取一个网站,以获取所有演员表及其角色。

我成功地从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)

0 个答案:

没有答案