首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python(bs4)维基页面抓取

Python(bs4)维基页面抓取
EN

Stack Overflow用户
提问于 2020-09-01 08:44:21
回答 2查看 57关注 0票数 0

我只想从wiki页面上删掉电影标题,请帮我一下。

我的代码:

代码语言:javascript
复制
url = 'https://en.wikipedia.org/wiki/List_of_American_films_of_2020'
page = requests.get(url)
soup = BeautifulSoup(page.content,'html.parser')
movies = soup.find('table',{'class':'wikitable sortable'})
print(movies)

我只想从结构中过滤掉电影标题,就像图像中的片名只应该是“丢失的传输”。

这是HTML中一部电影的结构:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-01 09:07:42

您可以进一步使用刮过的表。

代码语言:javascript
复制
table_body = movies.find('tbody') 
titles = [] 
rows = table_body.find_all('tr') 
for row in rows[1:]: # leaving the first row, seems it is a header
    title_cell = row.select("td i a") 
    titles.append(title_cell[0].contents[0]) 
print(titles)     
票数 1
EN

Stack Overflow用户

发布于 2020-09-01 09:08:54

这真的取决于你在追求什么。如果您只想刮页面,有一种更简单的方法:

代码语言:javascript
复制
import pandas as pd
pd.read_html("https://en.wikipedia.org/wiki/List_of_American_films_of_2020")

它将获得页面中包含在<table></table HTML中的所有信息。如果您的范围更多地从维基百科获取信息,您也不必使用网络抓取,因为有一个非常有用的API接口。如果你的目标是,学习网络抓取(请永远记住robots.txt ),你可以看看教程,这对我有很大帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63684246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档