汽车之家抓取

junjun

2016年4月20日

参考:http://blog.sina.com.cn/s/blog_6f2336820102v13n.html

汽车之家抓取

library(RCurl)
## Loading required package: bitops
#install.packages("XML")
library(XML)
library(reshape)#伪装报头
myheader=c(
"User-Agent"="Mozilla/5.0(Windows;U;Windows NT 5.1;zh-CN;rv:1.9.1.6",
"Accept"="text/htmal,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Accept-Language"="en-us",
"Connection"="keep-alive",
"Accept-Charset"="GB2312,utf-8;q=0.7,*;q=0.7"
)#1)微型车抓取测试
a00url <- "http://www.autohome.com.cn/a00/"
temp <- getURL(a00url, httpheader=myheader, .encoding = "gb2312")#转码
temp1 <- iconv(temp, "gb2312", "UTF-8")
Encoding(temp1)
## [1] "UTF-8"
#选择UTF-8进行网页的解析
k <- htmlParse(temp1, asText = T, encoding = "UTF-8")#查看doc的内容时显示有乱码,但没关系,table的解析结果没有乱码
tables <- readHTMLTable(k, header = F)
#getNodeSet(k,'//div[@class="uibox"]')#汽车公司
#getNodeSet(k,'//div[@class="h3-tit"]/text()')#汽车车型(greylink,灰色链接即非上市车型)
model<-getNodeSet(k,'//a[contains(@class,"greylink")]/text()')#汽车车型(包含上市),这个Xpath会出现同辆车重复4次这种情况,我没找到最好的xpath=-=
model<-getNodeSet(k,'//li/h4/a/text()')
class(model)
## [1] "XMLNodeSet"
#从XMLNodeSet转化为character格式
a00 <- sapply(model, xmlValue)
class(a00)
## [1] "character"
a00 <- as.data.frame(a00)
a00$tips <- rep("a00/", length(a00$a00))#重命名列名
a00 <- rename(a00, c(a00="model", tips="tips"))
data1 <- a00
write.csv(a00, file = "E:\\新技术\\爬虫\\汽车之家/微型车.csv")#2)################各车型的URL#######################
#微型车 http://www.autohome.com.cn/a00/
#小型车 http://www.autohome.com.cn/a0/
#紧凑型车 http://www.autohome.com.cn/a/
#中型车 http://www.autohome.com.cn/b/
#中大型车 http://www.autohome.com.cn/c/
#豪华车 http://www.autohome.com.cn/d/
#MPV http://www.autohome.com.cn/mpv/
#跑车 http://www.autohome.com.cn/s/
#皮卡 http://www.autohome.com.cn/p/
#微面 http://www.autohome.com.cn/mb/
#轻客 http://www.autohome.com.cn/qk/
#小型suv http://www.autohome.com.cn/suva0/
#紧凑型suv http://www.autohome.com.cn/suva/
#中型suv http://www.autohome.com.cn/suvb/
#中大型suv http://www.autohome.com.cn/suvc/
#全尺寸suv http://www.autohome.com.cn/suvd/series<-c("a0/","a/","b/","c/","d/","mpv/","s/","p/","mb/","qk/","suva0/","suva/","suvb/","suvc/","suvd/")#构建urllist,若写成function的话,貌似不需要构建urllist
urllist <- 0
for(i in 1:length(series)){url <- "http://www.autohome.com.cn/"urllist[i] <- paste0(url, series[i], sep="")
}#构建抓取循环
for (i in 1:length(series)){url<-paste0("http://www.autohome.com.cn/",series[i],sep="")temp<-getURL(url,httpheader=myheader,.encoding="gb2312")temp1<-iconv(temp,"gb2312","UTF-8") #转码k<-htmlParse(temp1,asText=T,encoding="UTF-8") #选择UTF-8进行网页的解析model<-getNodeSet(k,'//li/h4/a/text()')table<-sapply(model,xmlValue) #从XMLNodeSet转化为character格式table<-as.data.frame(table)table$tips<-rep(series[i],length(table$table))table<-rename(table,c(table="model",tips="tips")) #重命名列名data2<-tabledata1<-rbind(data1,data2)
}#导出结果后再去重处理下吧.
write.csv(data1, file="E:\\新技术\\爬虫\\汽车之家/auto全车型.csv")

RCurl汽车之家抓取相关推荐

  1. 使用nodeJs从汽车之家爬取汽车外观图片

    最近在做毕业设计的时候需要用到大量的汽车图片作为数据集进行训练,一开始尝试从两个渠道获取图片: 一是去找ImageNet 中的汽车分类的图片,结果发现这里面的汽车图片总量比较少,且不同车种差异较大(我 ...

  2. python 报价程序_【python】简单爬虫制作(汽车之家易车网报价爬虫)

    首先交代背景,逗逼女朋友每个月要花费半天多的时间去汽车网上找三十多个城市.十多款车型的报价数据,而且他们部门其它人也要做这种繁琐的工作.我在网络卡屎的情况下帮她做了一回,我就打死都想写个程序把这种st ...

  3. 【python】简单爬虫制作(汽车之家易车网报价爬虫)

    首先交代背景,逗逼女朋友每个月要花费半天多的时间去汽车网上找三十多个城市.十多款车型的报价数据,而且他们部门其它人也要做这种繁琐的工作.我在网络卡屎的情况下帮她做了一回,我就打死都想写个程序把这种st ...

  4. java爬虫入门--用jsoup爬取汽车之家的新闻

    概述 使用jsoup来进行网页数据爬取.jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址.HTML文本内容.它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuer ...

  5. python 网站模板_使用Python抓取模板之家的CSS模板

    Python版本是2.7.9,在win8上测试成功,就是抓取有点慢,本来想用多线程的,有事就罢了.模板之家的网站上的url参数与页数不匹配,懒得去做分析了,就自己改代码中的url吧.大神勿喷! 代码如 ...

  6. 汽车之家 php,demo.php · 放屁大亨。/PHP爬取汽车之家数据 - Gitee.com

    /** * Created by PhpStorm. * User: wangjie * Date: 2018/9/18 * Time: 15:55 */ class demo { /** * cUR ...

  7. 汽车之家店铺数据抓取 DotnetSpider实战

    一.背景 春节也不能闲着,一直想学一下爬虫怎么玩,网上搜了一大堆,大多都是Python的,大家也比较活跃,文章也比较多,找了一圈,发现园子里面有个大神开发了一个DotNetSpider的开源库,很值得 ...

  8. 汽车之家店铺数据抓取 DotnetSpider实战[一]

    一.背景 春节也不能闲着,一直想学一下爬虫怎么玩,网上搜了一大堆,大多都是Python的,大家也比较活跃,文章也比较多,找了一圈,发现园子里面有个大神开发了一个DotNetSpider的开源库,很值得 ...

  9. 抓取汽车之家新闻资讯做安卓app新闻资讯数据

    //2016/09/16/// //by   xbw/// 抓取服务器端php源码 <?PHP set_time_limit(0); require("db_config.php&qu ...

最新文章

  1. javascript中关于this指向问题详解
  2. 青龙面板Nvjdc魔改前段待弹窗---仅支持2.0版本
  3. 使用markdown编辑evernote(印象笔记)的常用方法汇总
  4. 快速傅里叶变换(FFT)的C#实现及详细注释
  5. php 项目中引用对方接口_关于PHP中为什么要写接口的问题说明
  6. 【linux命令】Centos下如何匹配内容在哪个文件中
  7. 设计模式——工厂方法
  8. java 乱码 号处理器_java处理中日文字符串的乱码问题
  9. JSON在线格式化,美化
  10. 元宇宙与泛娱乐的邂逅:次世代第一CP养成记
  11. 金字塔结构式表达利器
  12. 闲谈IPv6-聊聊IPv6端到端分段和MTU探测的问题
  13. Android如何实现APP自动更新
  14. [转载]Navicat12.1系列破解教程,Navicat12.1.16破解亲测有效!!
  15. Qt+ffmpeg+x264远程协助软件Weekday技术原理及源码剖析
  16. codeforces-26A-Almost Prime【分解质因数】
  17. 单片机系统常用接口电路、功能模块和外设
  18. (附源码)计算机毕业设计ssm毕业生就业信息管理系统
  19. 香港银行牌照申请日记-1
  20. 小米手机 页面顶部被遮盖? 不!是屏蔽隐藏拉!

热门文章

  1. python处理英文拼写错位
  2. 合规设置去除福昕阅读器(foxit reader)右上角广告方法
  3. 江苏省环保设备用电监管系统-环保用电监管平台-安科瑞黄安南
  4. 监控员工电脑的软件可以保存多久
  5. 聚类 监督聚类 k-means聚类
  6. 关于“Windows 资源保护找到了损坏文件,但其中有一些文件无法修复。”的另一种解决方法
  7. 公开课 | 看了10集《老友记》就被系统推荐了10季,Hulu如何用深度学习避免视频推荐的过拟合
  8. Ubuntu 下使用go语言调用ffmpeg推流
  9. CI / CD工具的简要历史
  10. linux获取机器cpuid地址函数,Linux下获取CPUID、硬盘序列号与MAC地址