121.4_爬虫实战和数据重塑
鸣谢
[Python While 循环语句 | 菜鸟教程 (runoob.com)](https://www.runoob.com/python/python-while-loop.html)
R语言数据重塑 - R语言教程 - PHPERZ中文资讯站
原理与安装 | 白月黑羽 (byhy.net)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| browser = webdriver.Chrome() #打开驱动
browser.get('http://202.118.40.10/admin/zsmlgl/zsmlinfo.aspx') #进入网站
browser.implicitly_wait(5) #最大反应时间
i=0
while i<85: #总共84页
i+=1
elements = browser.find_elements_by_name('pager_input')
for element in elements:
print(element.text)
ii='%d'%i
element.clear() #清空输入框
element.send_keys(ii) #输入页码
elements = browser.find_elements_by_name('pager')
for element in elements:
element.click() #点击进入页码页面
element = browser.find_element_by_id('dgData') # 定位表格,element是WebElement类型
# 提取表格内容td
td_content = element.find_elements_by_tag_name("td") # 进一步定位到表格内容所在的td节点
lst = [] # 存储为list
for td in td_content:
lst.append(td.text)
print('第',ii,'页DONE') # 输出表格内容记号
with open('5.csv', 'a', newline='') as ile:
writer = csv.writer(ile)
writer.writerow(lst)
#写进csv文件
browser.quit()
quit() #退出
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| MYDATA <-read.csv("5.CSV",header = F)
headert <- c('骞村害','瀵煎笀缂栧彿','濮撳悕','鎬у埆','鐮旂┒鐢熺被鍒?','瀛︿綅绫诲瀷','璇','闄㈢郴浠g爜','闄㈢郴鍚嶇О','涓撲笟浠g爜','涓撲笟鍚嶇О','绉戝浠g爜','绉戝鍚嶇О','鑱岀О','鑱旂郴閭')
a2<-rbind(headert,a1)
a4<-a2[,-c(1:15)]
outputd <- c()
i<- 1
ii <- i+14
delv <- a4[,(i:ii)]
colnames(delv)<-headert
delv <- delv[-1,]
outputd <- rbind(outputd,delv)
repeat{
i<- ii+1
ii <- i+14
delv <- a4[,(i:ii)]
colnames(delv)<-headert
delv <- delv[-1,]
outputd <- rbind(outputd,delv)
if(ii>=750){
break
}
}
write.csv(outputd,"outputa2.csv", row.names=FALSE)
|
英文版的R,中文大概率会乱码,所以建议全英文编程。