我想网上搜刮特定的财务网。但是我一生都会那样做。我不懂HTML,所以对我来说很难。我想学习,因为我需要一个示例来开始网络抓取很多表格。 该网络来自智利的一个机构,名为“Comisiónpara el Mercado financiero”。网址为:“ http://www.cmfchile.cl/institucional/inc/valores_cuota/valor_serie.php?v1=C1KB5&v2=LPKA0ISQAKEHITB64IBM&v3=4ABCIV864AJ35MN64IBM&v4=V864A4ABCI&v5=J35MNS8IYM&v6=4ABCIV864A4ABCIV864A&v7=V864AISQAK&v8=V864A64IBM&v9=37G70LN68AGLD87IEAIXGLD87OL18863409LN68AOL188JKT99QHFLBMLXL410163LN68A&v10=21QYE48BCX99KWAEF88BWM6YB&v11=63409LN68AGLD8737GH0J35MN&v12=63409LN68AGLD8737GH04ABCI”
有人可以告诉我该怎么做吗?我知道我可以使用BeautifulSoup并请求模块,但仅此而已。如果有的话,用Python撰写的有关网络抓取的书将非常有帮助。
答案 0 :(得分:1)
正如您正确提到的那样,这是“ Web Scraping”,而python具有惊人的模块。对我们而言,在继续进行之前,了解技术性很重要。
最常用的模块之一是-> BeautifulSoup
因此,要从任何网页获取信息,
解决方案-
有很多方法,例如
一旦您达到了这一点,到现在为止,您对我们将继续前进的方式一定很清楚
#make a request to the webpage, and grab the html respone
page = requests.get("your url here").content
#pass it on to beautifulsoup
from bs4 import BeautifulSoup
soup = BeautifulSoup(page.content, 'html.parser')
#Depending on how you want to find, you can use findbyclass, findbytag, and #other methods
soup.findAll('your tag')
答案 1 :(得分:0)
完整的工作代码。您必须等待很多时间(大约10分钟或更短)才能获得结果。因此,请在完成后回复
由于链接具有动态数据,因此加载数据需要花费时间。美丽的汤有些超时,因此无法响应。好的主意是在这里等待页面完全加载之前在这里使用硒。
尝试了数百种获取数据的方法之后,这是最终的解决方案。
library(`SL.NO`.`STUDENT ID`,`BOOK`,`DATE`)
books(`sl.no`,`title`,`authors`,`subject`,`availability`)
student(`STUDENT ID`,`STUDENT NAME`)
答案 2 :(得分:0)
import requests
import pandas as pd
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0'
}
def main(url):
r = requests.get(url, headers=headers)
df = pd.read_html(r.content)[0]
print(df)
main("http://www.cmfchile.cl/institucional/inc/valores_cuota/valor_serie.php?v1=C1KB5&v2=LPKA0ISQAKEHITB64IBM&v3=4ABCIV864AJ35MN64IBM&v4=V864A4ABCI&v5=J35MNS8IYM&v6=4ABCIV864A4ABCIV864A&v7=V864AISQAK&v8=V864A64IBM&v9=37G70LN68AGLD87IEAIXGLD87OL18863409LN68AOL188JKT99QHFLBMLXL410163LN68A&v10=21QYE48BCX99KWAEF88BWM6YB&v11=63409LN68AGLD8737GH0J35MN&v12=63409LN68AGLD8737GH04ABCI")