爬虫实战项目------爬取天天基金
功能展示
技术
-
语言:python
-
Beautifulsoup解析html
-
js2py解析JavaScript
-
python 爬虫
-
正则表达式提取数据
-
界面设计用的PyQt5
功能片段
伪装头
# headers
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36',
'Referer': 'http://fund.eastmoney.com/data/fundranking.html',
}
爬取天天基金排行榜数据
# 爬取排行榜基金数据
def getRankDatas():
url = "http://fund.eastmoney.com/data/rankhandler.aspx?op=ph&dt=kf&ft=all&rs=&gs=0&sc=6yzf&st=desc&sd=2020-08-15&ed=2021-08-15&qdii=&tabSubtype=,,,,,&pi=1&pn=50&dx=1&v=0.6075346553325671"
req = requests.get(url=url, headers=headers)
datas = req.text
db = js2py.eval_js(datas)#数据是JavaScript,要用js2py解析器解析
data = db['datas']
return data
搜索功能实现
# 搜索基金数据
def searchData(text):
url = "http://fund.eastmoney.com/" + str(text) + ".html"
req = urllib.request.Request(url=url, headers=headers)
response = urllib.request.urlopen(req)
bs = BeautifulSoup(response, "html.parser")#数据是HTML,要用BeautifulSoup解析器解析
return bs
根据文本框内容爬取相应的基金信息页面,提取的是html中的数据
界面设计
class Table(QWidget):
def __init__(self):
super(Table, self).__init__()
self.i