爬取雪球网

本文分享了一段使用Python的requests库和json模块爬取雪球网站数据的代码实例。该脚本通过发送GET请求获取指定URL的数据,并解析返回的JSON格式信息,实现了对雪球公共时间线的抓取。文章详细展示了如何设置请求头、构造URL以及处理返回数据的过程。
import requests
import json



url = 'https://xueqiu.com/v4/statuses/public_timeline_by_category.json?since_id=-1&max_id={}&count={}&category=111'
def xueqiu(number=1,max_id=None,count=None):
if max_id is None:
full_url = url.format(-1,10)
else:
full_url = url.format(max_id,count)
count = 15

headers = {
'Cookie': 'device_id=3049fba19293376977728a287084d21f; _ga=GA1.2.780783310.1531212991; s=e212ctwtfc; __utmz=1.1531213044.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utma=1.780783310.1531212991.1531213044.1531220599.2; aliyungf_tc=AQAAADtGMFhh1gsAUhVFeSfUZkqI1Vuj; xq_a_token=584d0cf8d5a5a9809761f2244d8d272bac729ed4; xq_a_token.sig=x0gT9jm6qnwd-ddLu66T3A8KiVA; xq_r_token=98f278457fc4e1e5eb0846e36a7296e642b8138a; xq_r_token.sig=2Uxv_DgYTcCjz7qx4j570JpNHIs; _gid=GA1.2.1152894742.1534296305; _gat_gtag_UA_16079156_4=1; Hm_lvt_1db88642e346389874251b5a1eded6e3=1534296305; Hm_lpvt_1db88642e346389874251b5a1eded6e3=1534296305; u=211534296306130',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36',
}
# 最大页码数
if number<=3:

print('第%d页:'%number)
number += 1
response = requests.get(full_url, headers=headers)
res_dict = json.loads(response.text)
list_list = res_dict['list']

# 遍历 list_list
for list_item_dict in list_list:
# list 列表内的一个item, 他是一个dict
data_str = list_item_dict['data']
d = json.loads(data_str)
print(d['id'], d['title'])
xueqiu(number,max_id=list_list[-1]['id'],count=count)

if __name__ == '__main__':
xueqiu(1,-1,10)

转载于:https://www.cnblogs.com/luwanhe/p/9484753.html

爬取雪球网(Xueqiu.com)的股票数据通常涉及网络抓取技术,主要是使用Python编程语言配合一些库,如`requests`, `BeautifulSoup` 或者更高级的 `pandas_datareader` 来获取网页内容。以下是大致步骤: 1. **安装必要的库**:首先需要安装`requests`库用于发送HTTP请求,`lxml` 或 `BeautifulSoup4` 用于解析HTML。 ```bash pip install requests lxml beautifulsoup4 ``` 2. **模拟登录**:由于雪球有反爬机制,你可能需要通过浏览器自动化工具(如Selenium)或者设置User-Agent、Cookies等方式模拟登录,以获得访问权限。 3. **定位URL和数据结构**:查看目标页面的源码,找到包含股票数据的API链接或者是需要解析的数据元素,这可能涉及到动态加载的内容,可能需要分析JavaScript脚本。 4. **编写爬虫程序**:根据上述信息,使用`requests.get()`获取页面,然后使用BeautifulSoup解析HTML,提取出你需要的数据,比如股票名称、价格、交易量等。 ```python import requests from bs4 import BeautifulSoup # 示例URL url = 'https://xueqiu.com/s/stock/' response = requests.get(url) soup = BeautifulSoup(response.text, 'lxml') # 查找并处理股票数据 stocks_data = soup.find_all('div', class_='stock') # 根据实际HTML结构调整此部分 for stock in stocks_data: name = stock.find('span', class_='name').text price = stock.find('span', class_='price').text volume = stock.find('span', class_='volume').text # ...继续处理数据 ``` 5. **保存数据**:将获取到的数据存储成CSV、JSON或其他适合的形式,可以用`pandas`库方便地操作。 ```python import pandas as pd data_list = [] # 初始化一个列表来存放数据 # ...将每个股票的信息添加到list中 df = pd.DataFrame(data_list) # 转换为DataFrame df.to_csv('snowball_stock_data.csv') # 保存到csv文件 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值