尝试爬取,目前只提取了一部分数据。在数据存储上还是有问题,还未体现Python的间接性质。如果你有好的建议请留言或私信,谢谢。
下面的程序仅做参考,如果有时间再优化吧。
# -- coding: utf-8 -*-
"""
Created on Fri Oct 30 13:18:23 2020
@author: YuDi
"""
import requests
from lxml import etree
import xlwt
headers = {
'User-Agent':'Mozilla/5.0'}
url = "http://q.10jqka.com.cn/"
response = requests.get(url,headers=headers)
content = response.content.decode('GBK')
html = etree.HTML(content)
result = []
res = html.xpath('//div[@id="maincont"]')
for re in res:
names = re.xpath('.//table/tbody/tr/td/a/text()')
nums = re.xpath('.//tbody/tr/td/text()')
#上面已经完成数据的提取
#下面就是数据的存储了,
workbook = xlwt.Workbook()
sheet = workbook.add_sheet("Agushit")
sheet.write(0,0,"代码")
sheet.write(0,1,"名称")
sheet.write(0,2,"序号")
sheet.write(0,3,"现价")
sheet.write(0,4,"涨跌幅")
sheet.write(0,5,"涨跌")
sheet.write(0,6,"涨速")
sheet.write(0,7,"换手")
sheet.write(0,8,"量比")
sheet.write(0,9,"振幅")
sheet.write(0,10,"成交额")
sheet.write(0,11,"流通股")
sheet.write(0,12,"流通市值")
sheet.write(0,13,"市盈率")
for i in range(20):
sheet.write(i+1,0,names[0])
sheet.write(i+1,1,names[1])
sheet.write(i+1,2,nums[0])
sheet.write(i+1,3,nums[1])
sheet.write(i+1,4,nums[2])
sheet.write(i+1,5,nums[3])
sheet.write(i+1,6,nums[4])
sheet.write(i+1,7,nums[5])
sheet.write(i+1,8,nums[6])
sheet.write(i+1,9,nums[7])
sheet.write(i+1,10,nums[8])
sheet.write(i+1,11,nums[9])
sheet.write(i+1,12,nums[10])
sheet.write(i+1,13,nums[11])
del names[0:2]
del nums[0:12]
workbook.save('{}.xls'.format("A股"))
没有翻页所以数据,额有点少,没有任何的参考价值。
仅做参考,如果你有好的建议或者相关资料请留言或私信。