<div dir="ltr">If the libraries don't already offer one it should be simple enough to create a cache of the literal user agent input and parsed response. While there are many permutations I'd think it's pretty fixed in practice relative to the number of possible lookups needed.</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, May 26, 2017 at 10:56 AM, John Doe <span dir="ltr"><<a href="mailto:donpedrothird@gmail.com" target="_blank">donpedrothird@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Max,  it depends on what for you do need the info from useragent. If you don't need detailed info such as model of the phone for example, you can use a fork of the useragent app, such as <a href="https://github.com/brigadier/useragent" target="_blank">https://github.com/brigadier/<wbr>useragent</a> , and modify it yourself for new useragents. <div>If you need to know detailed info, such as model of a phone or resolution, you'd need to integrate database from <a href="https://browscap.org" target="_blank">https://browscap.org</a> . But as you can see, the base es very large, the full one weights about 130Mb, and naive parsing with regexps would take a lot of CPU.</div><div><br></div><div>Often detailed version is not needed. If you sell ads buyers would be interested maybe in android or ios, or maybe even in exact version of android or ios, but not in the exact model of some obscure dumbphone. For this dumbphone the ads would cost close to zero regardless of if you show the name of the device or show 'unknown device' instead.</div></div><div class="gmail_extra"><br><div class="gmail_quote"><span class="">2017-05-26 14:39 GMT+03:00 Max Lapshin <span dir="ltr"><<a href="mailto:max.lapshin@gmail.com" target="_blank">max.lapshin@gmail.com</a>></span>:<br></span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><div dir="ltr">Hi.<div><br></div><div>I have a list of 250 000 of different useragents: not only browsers, but also devices and so on.</div><div><br></div><div>I want to get operation system, kind of device, browser and version from them, so I need user agent parser.</div><div><br></div><div><br></div><div>Right now I see two of them:</div><div><br></div><div><a href="https://github.com/ferd/useragent" target="_blank">https://github.com/ferd/userag<wbr>ent</a><br></div><div><a href="https://github.com/chitika/uaparser" target="_blank">https://github.com/chitika/uap<wbr>arser</a><br></div><div><br></div><div>I have checked them and they cannot parse lot of my useragent strings.</div><div><br></div><div>What is the proper way to go here:</div><div><br></div><div>1) try to edit these libraries?</div><div>2) take some service with API?</div><div>3) just try to put ad-hoc hardcoded strings that will cover 90% of my records?</div><div><br></div></div>
<br></span><span class="">______________________________<wbr>_________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/list<wbr>info/erlang-questions</a><br>
<br></span></blockquote></div><br></div>
<br>______________________________<wbr>_________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/<wbr>listinfo/erlang-questions</a><br>
<br></blockquote></div><br></div>