python爬虫获取网站源码分享,python爬取网站代码

大家好,今天小编来为大家解答以下的问题,关于python爬虫获取网站源码分享,python爬取网站代码这个很多人还不知道,现在让我们一起来看看吧!

人工智能时代,大数据的获取至关重要,利用网络爬虫获取数据是当前最有效的手段。爬虫本质上就是代替人工操作访问网站,自动找到目标数据,并获取目标数据的过程。今天不谈任何协议结构,只通过结合爬取股票数据的代码介绍最基本的爬虫实现,力求让略有python基础的爱好者有一个直观印象。

任务:爬取东方财富网上以6开头(比如浦发银行600000)的股票数据(最高价、换手率、成交量和成交额)。首先在东方财富网(http://quote.eastmoney.com/stocklist.html)获取全部股票代码列表,然后访问百度股市通(http://gupiao.baidu.com/stock/+股票代码)获取具体数据。

第一步,访问网站,核心函数html=requests.get(url),url是访问链接,返回值html是目标网页源码的全部数据。这里的返回值与通常的网站界面不一样,网站界面的全部显示数据都在源码中有详细记录。点击网页右键查看源代码即可看到。

部分网页源码

第二步,从第一步获取的网页源码数据找到我们需要的目标数据,网页源码按照一定的格式标签排列,通过标签访问目标数据,这个过程称为数据解析和查找。目标函数

解析函数soup=BeautifulSoup(html,’html.parser’)

查找函数find()或者find_all()或者利用正则表达式对字符串进行匹配查找。

第三步,按照一定格式进行数据存储。可直接存储到txt文件即可。程序运行后部分结果数据如下图

部分结果数据

Python3.5实现代码如下:

frombs4importBeautifulSoup\nimporttraceback\nimportre\nimporttime\nimportrequests\ndefGetHTMLSource(url):获取当前日期\ndirname+=’sh’\nreturndirname\ndefgetStockList(lst,stock_list_url):用find_all方法遍历所有’a’标签,并取出在’a’标签里面的’href’数据\nforiina:\ntry:\nhref=i.attrs[‘href’]\nlst.append(re.findall(r”sh6\\d{5}”,href)[0])具体单只股票的url\nhtml=GetHTMLSource(url)\ntry:\nifhtml==””:\ncontinue\ninfoDict={}\nsoup=BeautifulSoup(html,’html.parser’)\nstockInfo=soup.find(‘div’,attrs={‘class’:’stock-bets’})\nifstockInfo==None:\ncontinue\nkeyData=stockInfo.find_all(‘dt’)\nvalueData=stockInfo.find_all(‘dd’)\ninp=stock+”,”+ndate+”,”\nforiinrange(len(keyData)):\nkey=keyData[i].text\nval=valueData[i].text\ninfoDict[key]=val\ninp+=infoDict[‘最高’]+”,”+infoDict[‘换手率’]+”,”+infoDict[‘成交量’]+”,”+infoDict[‘成交额’]+”\\n”\nwithopen(fpath,’a’,encoding=’utf-8′)asf:\nf.write(inp)\nexcept:\ntraceback.print_exc()\ncontinue\ndefmain():\nstock_name_url=’http://quote.eastmoney.com/stocklist.html’\nstock_data_url=’http://gupiao.baidu.com/stock/’\noutput_file=’./’+SetFileName()+’.txt’获取股票名称\ngetStockInfo(slist,stock_data_url,output_file)#根据股票名称获取数据,保存到output_file文件中\nmain()\n\n\n\n

关于python爬虫获取网站源码分享的内容到此结束,希望对大家有所帮助。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平