随着计算机软件技术水平的发展,各类图形处理,游戏软件对电脑硬件的要求越来越高,由此,电脑更新换代的频率也越来越快,前段时间宅家无聊,玩Dota2多人对战游戏,玩到high处,突然电脑卡的不能动弹,CPU风扇轰隆隆作响,哎,又该更换电脑了。好久没关注计算机行业发展动态,决定从中关村网上爬取一些目前电脑主流配置及价格等信息。首先打开网页url=http://detail.zol.com.cn/desktop_pc/hp/1.html,这是中关村网惠普电脑品牌,首先分析网页结构,很简单,就是普通加载的网页,页码也是url最后数字变化,从详细页面中可以获取到各品牌的配置信息。本次爬取使用requests库+xpath解析,通过分析详细页,获取cpu/内存等详细信息
`def parse_detail(response):html = etree.HTML(response)name = html.xpath('//div[@class="product-model page-title clearfix"]/h1/text()')[0]cpu = html.xpath('//div[@class="section-content"]/ul[2]/li[1]/p[1]/text()')[0]line = html.xpath('//div[@class="section-content"]/ul[2]/li[1]/p[2]/text()')[0]memory = html.xpath('//div[@class="section-content"]/ul[2]/li[3]/p[1]/text()')[0]disk = html.xpath('//div[@class="section-content"]/ul[2]/li[3]/p[2]/text()')[0]item = {'name':name,'cpu': cpu,'line': line,'memory': memory,'disk': disk}return item`
最后将获取到的信息保存到csv文件里,以便后续进行数据分析。
def save_to_csv(item):df = pd.DataFrame(item,index=[0])path = 'zgc_computer_.csv'df.to_csv(path, sep=',', header=False, mode='a', encoding='gbk', index=False)
这是获取的前10页内容
数据有500多条,存在重复的数据及没有信息的数据,随后使用pandas数据分析库对以上数据进行分析。