使用循环通过Web抓取创建表

使用循环通过Web抓取创建表,第1张

概述我正在尝试通过webscrape tax-rates.org来获得德克萨斯州每个县的平均税率.我有一个csv文件中255个县的列表,我导入为“TX_counties”,它是一个列表.我必须为每个县创建一个字符串的URL,所以我使用[i,1]将d1设置为第一个单元格,然后将其连接成一个URL字符串,执行scrape,然后将1添加到[i],这使得它成为转到下一个县名的第二个单元格,然后继续. 问题是我 我正在尝试通过webscrape tax-rates.org来获得德克萨斯州每个县的平均税率.我有一个csv文件中255个县的列表,我导入为“TX_countIEs”,它是一个列表.我必须为每个县创建一个字符串的URL,所以我使用[i,1]将d1设置为第一个单元格,然后将其连接成一个URL字符串,执行scrape,然后将1添加到[i],这使得它成为转到下一个县名的第二个单元格,然后继续.

问题是我无法弄清楚如何将scrape结果存储到“增长列表”中,然后我想将其制作成一个表并最后保存到.csv文件中.我只能一次刮掉一个县,然后重写自己.

有什么想法吗? (相当新的R和刮擦一般)

i <- 1for (i in 1:255) {  d1 <- as.character(TX_countIEs[i,1])  uri.seed <- paste(c('http://www.tax-rates.org/texas/',d1,'_county_property_tax'),collapse='')  HTML <- HTMLTreeParse(file = uri.seed,isURL=TRUE,useInternalNodes = TRUE)  avg_taxrate <- sapply(getNodeSet(HTML,"//div[@class='Box']/div/div[1]/i[1]"),xmlValue)  t1 <- data.table(d1,avg_taxrate)  i <- i+1}write.csv(t1,"2015_TX_PropertyTaxes.csv")
解决方法 这使用了rvest,提供了一个进度条,并利用了页面上已经存在URL的事实:

library(rvest)library(pbapply)pg <- read_HTML("http://www.tax-rates.org/texas/property-tax")# get all the county tax table linksctys <- HTML_nodes(pg,"table.propertyTaxtable > tr > td > a[href*='county_property']")# match your lowercased namescounty_name <- tolower(gsub(" County","",HTML_text(ctys)))# spIDer each page and return the rate %county_rate <- pbsapply(HTML_attr(ctys,"href"),function(URL) {  cty_pg <- read_HTML(URL)  HTML_text(HTML_nodes(cty_pg,xpath="//div[@class='Box']/div/div[1]/i[1]"))},USE.nameS=FALSE)tax_table <- data.frame(county_name,county_rate,stringsAsFactors=FALSE)tax_table##   county_name              county_rate## 1    anderson Avg. 1.24% of home value## 2     andrews Avg. 0.88% of home value## 3    angelina Avg. 1.35% of home value## 4     aransas Avg. 1.29% of home valuewrite.csv(tax_table,"2015_TX_PropertyTaxes.csv")

注1:我限制刮到4不会杀死提供免费数据的站点的带宽.

注意2:该网站上只有254个县的税收链接,所以如果你有255个,你似乎还有一个额外的.

总结

以上是内存溢出为你收集整理的使用循环通过Web抓取创建表全部内容,希望文章能够帮你解决使用循环通过Web抓取创建表所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1070343.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存