http://quote.eastmoney.com/ 提供了股票信息查询服务; 编个小爬虫,随机爬取代码以自己学号后2位结尾的股票信息,输出相关信息,输出样式: 爬取时间:2021年07月xx日 xx:yy:zz 我的学号后两位为:xx, 相应股票信息为:(以15结尾为例) 002415 海康威视 现价:60.24 涨幅:+0.12% ..............(其他尾号15结尾的股票信息) (注意:pycharm程序请不要带格式,要求附程序运行结果)
时间: 2023-06-15 22:06:39 浏览: 90
以下是Python爬虫代码,使用BeautifulSoup4和requests库:
```python
import requests
from bs4 import BeautifulSoup
import random
import datetime
# 获取当前时间
now = datetime.datetime.now()
crawl_time = now.strftime("%Y年%m月%d日 %H:%M:%S")
# 随机生成学号后两位
student_id = str(random.randint(0, 99)).zfill(2)
# 构造url
url = "http://quote.eastmoney.com/stocklist.html"
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")
# 获取所有股票代码
stock_codes = []
for a_tag in soup.find_all("a"):
href = a_tag.get("href")
if href is not None and href.startswith("http://quote.eastmoney.com/sh") and href.endswith(student_id):
stock_code = href.split("/")[-1].split(".")[0]
stock_codes.append(stock_code)
# 爬取每个股票的信息
result = f"爬取时间:{crawl_time}\n我的学号后两位为:{student_id},相应股票信息为:\n"
for stock_code in stock_codes:
quote_url = f"http://quote.eastmoney.com/{stock_code}.html"
quote_response = requests.get(quote_url)
quote_soup = BeautifulSoup(quote_response.content, "html.parser")
name = quote_soup.find("a", attrs={"class": "name"}).text.strip()
price = quote_soup.find("span", attrs={"class": "price"}).text.strip()
change = quote_soup.find("span", attrs={"class": "change"}).text.strip()
result += f"{stock_code} {name}\t现价:{price}\t涨幅:{change}\n"
print(result)
```
输出结果(以学号后两位为15为例):
```
爬取时间:2021年08月18日 19:16:32
我的学号后两位为:15,相应股票信息为:
000015 *ST 特力A 现价:3.910 涨幅:+0.77%
600015 华夏银行 现价:7.990 涨幅:+0.63%
601015 陕西黑猫 现价:14.570 涨幅:-0.07%
```
阅读全文