The BLS page on their data collection:
https://www.bls.gov/oes/> The Occupational Employment and Wage Statistics (OEWS) program produces employment and wage estimates annually for nearly 800 occupations. These estimates are available for the nation as a whole, for individual states, and for metropolitan and nonmetropolitan areas; national occupational estimates for specific industries are also available.
On this page is https://www.bls.gov/oes/mb3-methods.pdf
> Probability sample panels of about 180,000 to 200,000 establishments are selected semiannually. Responses are obtained by mail, Internet or other electronic means, email, telephone, or personal visit. Respondents report their employees’ job titles or occupations across 12 wage ranges. The job titles and descriptions are used to classify workers into occupations in the Standard Occupational Classification (SOC) system.
> Estimates of occupational employment and wage rates are based on six panels of survey data collected over a 3-year cycle. The final in-scope sample size when six panels are combined is approximately 1.2 million establishments. Total 6-panel unweighted employment covers approximately 80 million3 out of the total employment of over 140 million4.
They're not scraping. They are calling up a hundreds of thousands of companies and asking them "how much are you paying people with this classification?"
They occasionally redo the classifications based on industry trends.
Currently, the programmer related job listings https://www.bls.gov/oes/current/oes_stru.htm#15-0000
15-1251 Computer Programmers
15-1252 Software Developers
15-1253 Software Quality Assurance Analysts and Testers
15-1254 Web Developers
15-1255 Web and Digital Interface Designers
(note that the OOH and OES can get out of sync)
Go back to 2020 and you'll see https://web.archive.org/web/20200508015238/https://www.bls.g...
15-1251 Computer Programmers
15-1256 Software Developers and Software Quality Assurance Analysts and Testers
15-1257 Web Developers and Digital Interface Designers
And going further back, in 2014
https://web.archive.org/web/20140704000413/http://www.bls.go... 15-1131 Computer Programmers
15-1132 Software Developers, Applications
15-1133 Software Developers, Systems Software
15-1134 Web Developers
And even further back, you won't see the Web Developers
https://web.archive.org/web/20060813114102/http://www.bls.go... 15-1021 Computer Programmers
15-1031 Computer Software Engineers, Applications
15-1032 Computer Software Engineers, Systems Software
These classifications are buckets that the BLS creates trying to loosely get a single mode in the wage data (if there is a bimodal distribution of the wage data, then there are two different classifications).
When someone applies on a work visa, they have to fit into a bucket somewhere. The definition of that bucket determines which type of visa they may be approved for. If it requires a degree, then its the H-1B. If it doesn't require a degree, its likely a H-2B... and that in turn leads to other implications (the H-1B is dual intent and can lead to a green card while the H-2B isn't).