代码拉取完成,页面将自动刷新
同步操作将从 songbl/stata_do 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
clear // 避免变量与用户变量冲突
tempfile ///
lxh_BlogTitle ///
catID_dta ///
CatIDnew_data ///
catSort ///
Final_data ///
outcome ///
mycovs1 ///
*------------------------------------------------------------------------*
***正则表达式抽取网址 标题 分类标签等***
qui{
local URL "https://www.lianxh.cn/blogs.html"
tempfile html_text HTML_text_dta catID_dta
capture copy `"`URL'"' "`html_text'.txt", replace
local times = 0
while _rc ~= 0 {
local times = `times' + 1
sleep 1000
cap copy `"`URL'"' "`html_text'.txt", replace
if `times' > 10 {
disp as error "Internet speeds is too low to get the data"
exit 601
}
}
}
infix strL v 1-1000 using "`html_text'.txt", clear
save "`HTML_text_dta'", replace
keep in 1/1000
local date: disp %dCYND date("`c(current_date)'","DMY")
local month = substr("`date'",5,2)
local day = substr("`date'",7,2)
local key ="`month'"+"/"+"`day'"
keep if index(v[_n+4], "<span>04/28</span>")
*- 抽取原始链接
local regex = `"(?<="><a href=")(.*)(?=")"'
* 以 「"><a href="」开头,「"」结尾的字符串
gen BlogURL = ustrregexs(0) if ustrregexm(v, `"`regex'"')
replace BlogURL = "https://www.lianxh.cn" + BlogURL if BlogURL!=""
*- 抽取标题
local regex = `"(?<=html">)(.+)(?=</a></h3>)"'
gen BlogTitle = ustrregexs(0) if ustrregexm(v, `"`regex'"')
*- 抽取分类标签
local regex = `"(<span>)(\D.*)(?:</span>)"'
gen CatName = ustrregexs(2) if ustrregexm(v, `"`regex'"')
drop if ustrregexm(CatName, "(data\[item\])")
keep if (BlogURL !="" | CatName!="")
replace CatName = CatName[_n+1] if CatName==""
keep if BlogTitle !=""
drop v
drop if ustrregexm(BlogTitle, "(data\[item\])")
format BlogTitle %-60s
gen id = _n // 推文发表时间序号
save "`lxh_BlogTitle'", replace
rename BlogURL 链接
rename BlogTitle 名称
rename CatName 分类
gen 格式=链接+"++"+名称+"++"+分类+"++"+"连享会"+"++"+"专题"
keep 名称 链接 分类 格式
br
*dingwei 名称,c("☝ Stata Journal 来啦!随便看 ")
*local n=r(row_n)
*drop in 1/`n'
*list 名称 if strmatch(分类,"*专题*")
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。