#!/usr/bin/python3
# -*- coding: utf-8 -*-
# BeautifulSoup
# https://www.crummy.com/software/BeautifulSoup/bs3/documentation.zh.html#Changing%20attribute%20values
# 須要安裝 BeautifulSoup 和 lxmlhtml
# 360股票
# https://www.baidu.com/s?wd=360%E8%82%A1%E7%A5%A8
# <span class="op-stockdynamic-moretab-cur-num c-gap-right-small">22.90</span>python
import requests
from bs4 import BeautifulSoupapp
def requestMultiStock(stock_name_list):
"""爬取多個"""
for stock_name in stock_name_list:
requestOneStock(stock_name)url
def requestOneStock(stock_name):
# 請求一個百度請求地址
# 百度https會重定向到http
# target_url = "http://www.baidu.com/s?wd=360%E8%82%A1%E7%A5%A8"
target_url = r"""http://www.baidu.com/s?wd="""+stock_name
requestOneStockUrl(stock_name, target_url)spa
def requestOneStockUrl(stock_name, target_url):
# 把一個股票名合成一個地址
resp = requests.get(url = target_url)
if(resp.status_code != 200):
print("open url "+target_url+ " error")
return
getStockValue(stock_name, resp.content)code
def getStockValue(stock_name, content):
#解析出股票市值
bf=BeautifulSoup(content,'lxml')
span = bf.find_all(class_ = "op-stockdynamic-moretab-cur-num c-gap-right-small")
"""[<span class="op-stockdynamic-moretab-cur-num c-gap-right-small">23.21</span>"""
span_bf=BeautifulSoup(str(span[0]),'lxml')
print(stock_name+":"+span_bf.text)
passxml
if __name__ == '__main__':
print("================")
print(" start")
print("================")htm
stock_names = []
stock_names.append("360股票")
requestMultiStock(stock_names)
print("================")
print(" end")
print("================")
pass
utf-8