요르단 스크랩 국무 장관 : 아칸소

Demo code here

Secretary of State scraping series 의 19화 시간입니다. 오늘 우리는 아칸소 국무장관의 웹 스크래핑을 합니다. here . 나는 Arkansas에 대해 잘 모르지만 그 특집 이미지는 확실히 멋져 보입니다.

조사





가장 최근에 등록된 업체를 찾으려고 노력합니다. 그들은 새로운 서비스와 제품으로 설정을 시도하고 아마도 기존 관계가 없을 가능성이 높은 비즈니스입니다. 나는 일반적으로 이것이 더 가치있는 리드가 될 것이라고 생각합니다.

주에서 검색할 날짜 범위를 제공하지 않는 경우 꽤 잘 작동하는 트릭을 발견했습니다. 저는 그냥 "2020"을 검색합니다. 2020년은 눈에 띄는 숫자이며 현재 우리가 그 해에 있기 때문에 사람들은 그 이름을 가진 사업을 시작하는 경향이 있습니다.

최근에 등록된 이들 중 하나를 찾으면 어딘가에서 비즈니스 ID를 찾습니다. 일반적으로 URL의 쿼리 매개변수 또는 POST 요청의 양식 데이터입니다. 어느 쪽이든 해당 ID를 하나 증가시켜도 최근에 등록된 회사를 얻을 수 있다면 내가 검색하는 ID를 증가시키는 것만으로 최근에 등록된 회사를 찾을 수 있다는 것을 압니다.

이것은 정확히 Arkansas에서 사용되는 전술입니다.



2020을 검색하면 이름에 2020이 포함된 비즈니스 목록이 표시됩니다. 몇 달 전 최근에 등록된 것을 몇 개 찾아봅니다.



이제 이 비즈니스의 세부정보 페이지를 살펴보겠습니다.



빵. 우리는 사업을 하고 있습니다. URL에서 ID를 볼 수 있습니다. 숫자가 클수록 비즈니스가 더 최근화되었음을 보여주는 증가.

오랜 시간 검증된 방법으로 비즈니스를 찾는 것은 매력처럼 작동했습니다.

코드



이 사진들을 보니 아칸소에 가보고 싶어집니다.

코드는 간단합니다. ID를 반복하고 html을 구문 분석합니다.

(async () => {
    const startingId = 566000;
    for (let i = 0; i <= 20; i += 1) {
        await getDetails(startingId + i);
        //Longer timeout needed because of DDOS protection from website
        await timeout(3000);
    }
})();


차단될 위험이 없도록 여기에 더 긴 대기 시간을 추가했습니다. 3초는 필요한 것보다 길 수 있으며 필요에 따라 조정할 수 있습니다.

이 예에서는 20번 반복하지만 매일 새로 등록된 비즈니스를 가져오는 경우 새 비즈니스 찾기를 중지하면 중지하고 싶습니다.

세부 코드도 매우 간단합니다.

async function getDetails(sosId: number) {
    const axiosResponse = await axios.get(`https://www.sos.arkansas.gov/corps/search_corps.php?DETAIL=${sosId}`);
    const $ = cheerio.load(axiosResponse.data);
    const title = $("tr:nth-of-type(2) td:nth-of-type(2)").text();
    const formationDate = $("tr:nth-of-type(11) td:nth-of-type(2)").text();
    const status = $("tr:nth-of-type(7) td:nth-of-type(2)").text();
    const agentName = $("tr:nth-of-type(9) td:nth-of-type(2)").text();
    const address = $("tr:nth-of-type(8) td:nth-of-type(2)").text();

    const business: any = {};
    business.title = title;
    business.formationDate = formationDate;
    business.sosId = sosId;
    business.status = status;
    business.agentName = agentName;
    business.address = address;

    console.log("business", business);
}


Arkansas는 매우 잘리고 건조한 긁힌 자국이었고 좋았습니다. 끝!

Demo code here

비즈니스 리드를 찾고 계십니까?



여기javascriptwebscrapingguy.com에서 설명한 기술을 사용하여 멋진 웹 데이터에 액세스하는 방법을 시작할 수 있었습니다. 자세한 내용은 Cobalt Intelligence에서 알아보세요!

게시물 Jordan Scrapes Secretary of State: ArkansasJavaScript Web Scraping Guy에 처음 나타났습니다.

좋은 웹페이지 즐겨찾기