나는 파이썬으로 웹 스크랩하는 세계에 처음 왔지만 내가 궁극적으로 개발하고자하는 기술은 스크랩 한 데이터를 데이터베이스에 저장하고 그 데이터를 주기적으로 새로 고치는 것이다.Python Beautiful Soup WebScraping : 새로운 데이터 만 반환 하시겠습니까?
내 질문은 : 마지막으로 스크립트를 실행 한 이후로 새 데이터 만 요청하려면 어떻게 데이터 요청 (시간, 대역폭 사용)을 줄이시겠습니까?
예를 들어, 내 코드는 웹 사이트 Autotrader에 자동차의 목록을 반환
data = pd.DataFrame(columns=['A'])
#Print the name_box results to see them
for listing in range(len(name_box)):
temp = name_box[listing]
value = temp.text
data = data.append({'A' : value}, ignore_index=True)
대신 데이터베이스를 사용하는
이
from bs4 import BeautifulSoup
import requests
#URL and headers so it thinks we are a browser
url = "https://www.autotrader.co.uk/car-search?search-target=usedcars&is-quick-search=true&radius=&onesearchad=used&onesearchad=nearlynew&onesearchad=new&make=AC&model=&price-from=&price-to=&postcode=sw65bg"
headers = {'User-Agent' : 'Mozilla/5.0'}
#Request
request = requests.get(url, headers)
soup = BeautifulSoup(request.text, "html.parser")
#Find the name box
name_box = soup.find_all('h2', attrs={'class' : 'listing-title'})
#Print the name_box results to see them
for listing in range(len(name_box)):
temp = name_box[listing]
value = temp.text
print(value)
, 내 질문을 설명하는 데 도움이 dataframe에 출력을 저장할 수 있습니다 출력
:
A
0 AC Cobra 6.3 2dr
1 AC Cobra 4.9 MK IV 2dr
2 AC Cobra 3.5 2dr
3 AC Cobra 3.5 2dr
4 AC Cobra 5.3 2dr
5 AC Cobra 5.7
6 AC Cobra 4736 Built By Gardner Douglas 4.7 2dr
7 AC Cobra 5.7
8 AC Cobra 5.7 2dr
9 AC Cobra 5.8
을 10 번째 AC 코브라 웹 사이트에 게재 된 경우이며, 새 항목을 표시 할 수 있도록 해당 항목을 표시하거나 추가하는 방법이 있습니다.