크롤러를 작성할 때 크롤링된 데이터를 데이터베이스에 저장하고 싶습니다. 예를 들어 한 사람의 방문자가 많을 수 있으므로 언로드 루프에 삽입합니다. 으아악
한 페이지와 스레드 하나가 느린게 싫어서 5개를 열었습니다으아악
원활한 실행:
INSERT INTO 방문자(소유자 이름,owneruid,방문자 이름,visitoruid,방문 시간) VALUE("huosai7",4893,"Liang2017",7252799,"2017-5-22 21:06")그래서 max_thread를 10으로 설정했고 결과는 다음과 같습니다.INSERT INTO 개인 정보(소유자 이름,owneruid, jifen,huajiao,xiaomijiao,jinbi,haoyou,zhuti,rizhi,xiangce,fenxiang,kongjianfangwenliang,youxiangyanzheng,shipinrenzheng,juzhudi,chushengdi,shangcifabiaoshijian,shangcihuodongshijian,zuihoufangwen,zhuceshijian,zaixianshijian,shengri,xingbie) VALUE("hu 오사 i7",4893 , 0,0,0,0,0,0,0,0,0,0,0,0,"","","2100-01-01 12:00","2100-01-01 12: 00 ","2100-01-01 12:00","2004-1-3 19:28",0,"2100-01-01 12:00",0)
INSERT INTO 방문자 (소유자 이름, 소유자 UID, 방문자 이름 , 방문자UID,방문시간) VALUE ("龙乐",4894,"Liang2017",7252799,"2017-5-22 21:06")
(1062, "중복된 항목 '4894-7252799-2017-05-22 21: 06:00' 키 'PRIMARY'")
개인 정보에 삽입 (ownername,owneruid,jifen,huajiao,xiaomijiao,jinbi,haoyou,zhuti,rizhi,xiangce,fenxiang,kongjianfangwenliang,youxiangyanzheng,shipinrenzheng,juzhudi,chushengdi,shangcifabiaoshijian, shangcihuodongshijian,zuihoufangwen,zhuceshijian,zaixianshijian,shengri,xingbie) VALUE("龙乐",4894,0,0,0,0,0,0,0,0,0,0,0,0,"","" , "2100-01-01 12:00","2100-01-01 12:00","2100-01-01 12:00","2004-1-3 20:21",0,"2100- 01 -01 12:00",0)
.....
INSERT INTO 방문자 (ownername,owneruid,visitorname,visitoruid,visittime) VALUE ("xiao61",4889,"Liang2017",7252799,"2017-5-22 21:06")(2006, 'MySQL 서버가 사라졌습니다')
개인 정보에 삽입(소유자 이름,owneruid,jifen,huajiao,xiaomijiao,jinbi,haoyou,zhuti,rizhi,xiangce,fenxiang,kongjianfangwenliang,youxiangyanzheng,shipinrenzheng,juzhudi,chushengdi,shangcifabiaoshijian,shangcihuodongshijian,zuihoufangwen,zhuceshijian,zaixian 시 지안, 성리, xingbie ) VALUE("xiao61",4889,0,0,0,0,0,0,0,0,0,0,0,0,"","","2100-01-01 12:00" , "2100-01-01 12:00","2100-01-01 12:00","2004-1-3 15:56",0,"2100-01-01 12:00",0)
(2006, 'MySQL 서버가 사라졌습니다')
INSERT INTO Visitor (ownername,owneruid,visitorname,visitoruid,visittime) VALUE ("confused cool bear",4897,"Liang2017",7252799,"2017-5-22 21:06")
(2006, 'MySQL 서버가 사라졌습니다')
개인 정보에 삽입(소유자 이름,owneruid,jifen,huajiao,xiaomijiao,jinbi,haoyou,zhuti,rizhi,xiangce,fenxiang,kongjianfangwenliang,youxiangyanzheng,shipinrenzheng,juzhudi,chushengdi,shangcifabiaoshijian,shangcihuodongshijian,zuihoufangwen,zhuceshijian,zaixian 시 지안, 셍그리, xingbie ) VALUE("혼란스러운 멋진 곰",4897,611,0,1655,0,0,2,0,0,0,34,0,0,"","","2007-3-27 00: 37","2007-3-27 00:37","2007-3-27 00:37","2004-1-3 21:08",0,"2100-01-01 12:00",1 )
(2006년, 'MySQL 서버가 사라졌다')
......
2006년이 나온 것을 볼 수 있는데, max_thread를 30으로 설정했더니 결과는 다음과 같습니다.
그렇습니다. 충분히 상세하지 않다면 무엇이 더 필요합니까?
여기를 보세요. pymysql을 사용하고 있는 것 같습니다. 스레드 안전 설명은 1이고 해당 pep249에는 자세한 설명이 있습니다.
스레드는 모듈을 공유할 수 있지만 연결은 공유할 수 없습니다. 즉, 각 스레드에서 연결을 만들어야 할 수도 있습니다.
나~ ORM을 사용해서 해보는 건 어떨까요?