教你用python实现34行代码爬取东方财富网信息,爬虫之路,永无止境!!_python爬取东方财富网数据
由于原代码中存在一些问题,如使用了已废弃的requests库,并且没有正确处理JavaScript渲染的页面等问题,下面提供一个修改后的代INVESTIGATING THE MARKETS 示例代码,使用了requests
和BeautifulSoup
库来获取页面,并解析其内容。
import requests
from bs4 import BeautifulSoup
import pandas as pd
def get_data(url):
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
r = requests.get(url, headers=headers)
soup = BeautifulSoup(r.text, 'lxml')
data = soup.find_all('tr')
name = []
code = []
for row in data:
col = row.find_all('td')
if len(col) > 0:
name.append(col[0].text)
code.append(col[1].text)
return name, code
def main():
url = 'http://quote.eastmoney.com/center/gridlist.html#hs_a_board'
name, code = get_data(url)
stock_info = {'公司名称': name, '股票代码': code}
df = pd.DataFrame(stock_info)
df.to_csv('东方财富网信息.csv', index=False, encoding='gbk')
if __name__ == '__main__':
main()
这段代码首先定义了一个get_data
函数,用于获取网页数据并解析出公司名称和股票代码。然后在main
函数中调用get_data
函数,并将结果保存到CSV文件中。
注意:由于涉及到自动化爬取网页数据,请在使用时遵守网站的robots.txt协议,并确保合理使用,避免对网站造成过大压力。
评论已关闭