闲暇之余,利用Python爬虫爬取下京东金融的基金信息,感兴趣的小伙伴能够看看,有什么关于代码的交流能够加我微信:
qqtxw128html
#__author:"tangxiaowen" #date:2018/9/28 import requests from lxml import etree from selenium import webdriver from selenium.common.exceptions import NoSuchElementException import csv import time import chardet def get_page(url): dr = webdriver.PhantomJS() dr.get(url) get_next(dr) def get_next(dr): res = dr.page_source.encode().decode('utf-8') html = etree.HTML(res) for i in range(1, 11): #经过观察网站HTML能够发展每个网页一共有11个tr标签 gupiao = [] #建立一个列表,存储一只基金的信息 #利用xpath解析想要获取的信息 a = html.xpath('/html/body/div[5]/div[2]/div[1]/div[2]/table/tbody/tr[{}]/td[1]/a/text()'.format(str(i))) span = html.xpath('/html/body/div[5]/div[2]/div[1]/div[2]/table/tbody/tr[{}]/td[1]/span/text()'.format(str(i))) tr = html.xpath('/html/body/div[5]/div[2]/div[1]/div[2]/table/tbody/tr[{}]/td/text()'.format(str(i))) #把全部的信息追加到一个列表当中 gupiao.append(a[0]) gupiao.append(span[0]) gupiao.extend(tr) #咱们以CSV的格式存储,便于之后对基金信息的分析 with open('JD.csv', 'a', encoding='gbk') as f: # filename = ['基金名称','代码','单位净值','近1周','近1月','近3月','近6月','近1年','近3年','今年以来','近一年定投'] writer = csv.writer(f) # writer.writerow(filename) writer.writerow(gupiao) try: dr.find_element_by_class_name('down-page').click() time.sleep(2) return get_next(dr) #不停的加载下一页,直到找不到下一页为止,捕获异常,程序结束![在这里插入图片描述](https://img-blog.csdn.net/201809291043278?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjg5MDcyNQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70) except NoSuchElementException as e: print(e) print("没有找到下一页") return if __name__=="__main__": url = 'http://fund.jd.com/' get_page(url)
京东金融网页利用AJAX渲染过得,因为本人愚钝,暂时没有找到url的规律,全部利用python爬虫的终极武器,selenium + PJ。
若是有哪位小伙伴知道它的url规律,还请告知;很是感谢!python