Conas ceisteanna agus freagraí Quora a scrape ag baint úsáide as Python

Tuairimí: 0

Díríonn an t -alt seo ar conas sonraí Quora a bhaint agus cén fáth a bhféadfadh sé a bheith úsáideach, agus conas is féidir Python a úsáid chun an tasc seo a uathoibriú. Breathnóimid freisin ar na príomhuirlisí agus na leabharlanna a theastaíonn chun scrapáil ón suíomh seo.

Cén fáth a scrapáil sonraí Quora?

Tá Quora ar cheann de na láithreáin ghréasáin is mó a bhfuil freagairt ar cheisteanna ann a úsáideann daoine ar fud an domhain. Tá sé thar a bheith feiceálach i SAM, sa Ríocht Aontaithe, i gCeanada, san Astráil agus i dtíortha eile a labhraíonn Béarla. Tá go leor buntáistí ann agus anailís á déanamh ar na sonraí Quora, mar shampla:

  • Faisnéis cothrom le dáta a sholáthar ar thopaicí ábhartha, anailís shaineolach agus ceisteanna trending ar fud ábhair éagsúla.
  • Idirghníomhú go rathúil le spriocghrúpaí trí aghaidh a thabhairt ar a gcuid fiosruithe agus an t -iontaobhas a ghiaráil do cháil shaineolach ghnó nó phearsanta.
  • Freagraí ardchaighdeáin a fháil, eispéiris agus faisnéis a roinnt gan cuardach fairsing iomlánaíoch a dhéanamh.

Is féidir an t -ardán a úsáid i dtaighde, i bhforbairt ábhar nó i dtógáil AI réitigh.

Tuiscint a fháil ar scríobadh gréasáin Quora

Tagraíonn scríobadh gréasáin don ghníomh maidir le faisnéis agus sonraí a bhaint as láithreán gréasáin nó leathanach gréasáin. Is bealach nua -aimseartha é chun a lán faisnéise a bhailiú agus é a athrú go struchtúr eagraithe mar chomhad CSV.

Cad é an t -ardán Scraping Scraping Quora a thabhairt dúinn:

  • an cheist féin;
  • naisc a fhreagraíonn do roinnt leathanaigh Quora;
  • líon na bhfreagraí agus na gceisteanna go dtí seo;
  • na daoine a thug údar na bhfreagraí;
  • na dátaí a foilsíodh iad.

Dá bhrí sin, tugann Scrapáil Sonraí Quora léargas ar rannpháirtíocht an úsáideora, ar thábhacht, agus ar an tóir a bhí ar cheisteanna difriúla chomh maith leis na freagraí a fhaigheann siad.

Uirlisí riachtanacha chun Quora a scríobadh

D'fhonn sonraí Quora a scrapáil úsáidtear leabharlanna Python. Anseo thíos tá na hacmhainní is ábhartha a chuirfidh ar do chumas an sprioc sin a bhaint amach:

  • Beautifulsoup — chun na leathanaigh HTML a pharsáil agus an fhaisnéis a lorg a bhailiú.
  • Requests — chun iarratais ar phrótacal aistrithe hipirtéacs a fhoirmliú agus na leathanaigh ghréasáin a fháil.
  • Selenium — le haghaidh uathoibriú brabhsálaí, chomh maith le hábhar a ghintear go dinimiciúil a ghabháil.

Fágann na leabharlanna seo gur féidir idirghníomhú le leathanaigh ghréasáin agus faisnéis a bhailiú ó Quora gan stró.

Script Python Scraping Scraping a Thógáil

Tugann an fo -alt seo aghaidh ar thógáil scraper, a bheidh ina aird chéimnithe. Ullmhaigh an spás oibre, suiteáil leabharlanna riachtanacha, cruthaigh nósanna imeachta chun iarratais a sheoladh, chun an cód HTML a pharsáil, agus chun oibriú leis an bhfaisnéis aisghafa.

Céim 1: Do thimpeallacht tionscadail Python a chur ar bun

Roimh ré chun ceann a scríobadh ní mór an timpeallacht oibre a ullmhú:

  1. Íoslódáil agus suiteáil Python ón leathanach oifigiúil.
  2. Timpeallacht fhíorúil a chur ar bun chun do leabharlanna a roinnt in úsáid.
    
    python -m venv quora_scraper
    source quora_scraper/bin/activate  # Do MacOS agus Linux
    quora_scraper\Scripts\activate     # Do Windows
    
    

Céim 2: Leabharlanna Python Riachtanacha a shuiteáil

Suiteáil na leabharlanna riachtanacha a bheidh de dhíth ort le haghaidh scríobtha gréasáin sa chéim seo:


pip install requests beautifulsoup4

Tá na comhéadain seo riachtanach chun iarratais HTTP a tharchur agus ina dhiaidh sin anailís a dhéanamh ar na sonraí HTML a fuarthas.

Céim 3: Iarratais a sheoladh chuig Quora

Chun API áirithe a ghlaoch agus an leathanach HTML a fháil ar ais, bainfimid úsáid as an Leabharlann Iarrataí. Tá sé iomasach agus faigheann sé an post go han -tapa.


url = "https://www.quora.com/How-do-you-open-your-own-company"
response = requests.get(url)

Céim 4: An freagra HTML a pharsáil

Chun Python a úsáid, chun freagraí Quora a scrapáil beidh gá againn le leabharlann eile darb ainm BeautifulSoup. Seo mar a shuiteáil tú é:


soup = BeautifulSoup(response.text, "lxml")
question = soup.find(class_='q-box qu-userSelect--text')

Céim 5: Ceisteanna agus Freagraí Quora a Bhaint Amach

Chun na ceisteanna agus na freagraí a bhaint amach, ní gá duit ach an chlib HTML riachtanach a aimsiú a bhfuil na sonraí seo aige. Lig dúinn cás a ghlacadh:


text_of_answers = []
for answer_id in range(6):
   answers = soup.find_all(
       class_=f'q-box dom_annotate_question_answer_item_{answer_id} qu-borderAll qu-borderColor--raised qu-boxShadow--small qu-mb--small qu-bg--raised')

   for answer in answers:
       text = answer.find('p', class_='q-text qu-display--block qu-wordBreak--break-word qu-textAlign--start')
       text_of_answers.append(text)

Céim 6: Láimhseáil um Láimhseáil do Leathanaigh éagsúla

Is iondúil go mbíonn a lán freagraí ag Quora agus is minic a chaithfidh tú an leathanach a scrollú go leor chun gach rud a fheiceáil. Chuige seo beimid ag úsáid Selenium chun an láithreán gréasáin a uathoibriú.

Anseo thíos tá an dóigh a gcuireann tú Selenium ar bun agus úsáid a bhaint as seachvótálaithe chun do chéannacht a cheilt níos fearr:


from selenium.webdriver.chrome.options import Options
from seleniumwire import webdriver as wiredriver

chrome_options = Options()
chrome_options.add_argument(f'--proxy-server={proxy_address}')
chrome_options.add_argument(f'--proxy-auth={proxy_username}:{proxy_password}')

chrome_options.add_argument("--headless")

driver = wiredriver.Chrome(options=chrome_options)

Tar éis duit gach rud a chur suas i Selenium, ní gá duit ach iarratas HTTP a dhéanamh, agus ansin scrollaigh síos agus na píosaí sonraí seo a ghabháil:


url = "https://www.quora.com/How-do-you-open-your-own-company"
driver.execute_script('window.scrollBy(0, 1000)')

driver.get(url)

Céim 7: Na sonraí scríobtha a stóráil go héifeachtúil

Nuair a dhéantar na sonraí a bhailiú, ba mhaith leat iad a choinneáil ar bhealach a fhágann go bhfuil sé éasca anailís a dhéanamh níos déanaí. Is é an bealach is fearr chun é seo a dhéanamh ná iad a choinneáil i bhformáid JSON, mar is é an ceann is mó a úsáidtear.


with open(f'quora_data.json', 'w', encoding='utf-8') as json_file:
   json.dump(text_of_answers, json_file, ensure_ascii=False, indent=4)

Céim 8: Sonraí a onnmhairiú chuig formáid CSV nó JSON

Shábháil muid sonraí chuig JSON, ach i gcásanna áirithe d'fhéadfadh sé a bheith inmhianaithe é a dhéanamh i níos mó ná formáid amháin ag an am céanna. Mar sin tá feidhm agat anseo a dhéanann go díreach:


def export_data(data, csv_filename="quora_data.csv", json_filename="quora_data.json"):
    save_to_csv(data, csv_filename)
    save_to_json(data, json_filename)

export_data(text_of_answers)

Céim 9: Teorainneacha Ráta Láimhseáil agus Saincheisteanna Blocála

Tá roinnt cosaintí ag Quora i gcoinne scríobadh sonraí uathoibrithe, mar sin mar thoradh ar iarracht a dhéanamh go leor iarratais a sheoladh chuig Quora, gearrfar do sheoladh IP as. Tá bealaí timpeall air seo áfach.

  1. Ag cur roinnt ama leis sula seolann tú an chéad iarratas eile.

    Is é seo mimicry bunúsach d'iompar an duine a chuireann moill éigin ar moill nuair a sheoltar iarratas.

    
    import time
    import random
    
    def random_delay():
        time.sleep(random.uniform(2, 5))
    
    

    Cuir an fheidhm seo leis tar éis gach ceist chun an seans nach gcuirfear bac ort a mhéadú.

  2. Bain úsáid as seachfhreastalaithe.

    Is féidir le duine an seoladh IP a sheachaint go héasca trí fhreastalaithe seachfhreastalaí a úsáid. Feicfimid conas is féidir é a úsáid le Requests agus le Selenium.

    • requests:
      
      url = "https://www.quora.com/How-do-you-open-your-own-company" 
      
      
      
      proxy = 'LOGIN:PASSWORD@ADDRESS:PORT'
      proxies = {
         "http": f"http://{proxy}",
         "https": f"https://{proxy}",
      }
      
      response = requests.get(url, proxies=proxies)
      
      
    • Selenium:
      
      proxy_address = ""
      proxy_username = ""
      proxy_password = ""
      
      chrome_options = Options()
      chrome_options.add_argument(f'--proxy-server={proxy_address}')
      chrome_options.add_argument(f'--proxy-auth={proxy_username}:{proxy_password}')
      
      chrome_options.add_argument("--headless")
      
      driver = wiredriver.Chrome(options=chrome_options)
      
      

Céim 10: Gach rud a chur le chéile

Mar sin, tar éis duit gach céim a chlúdach, tá sé in am iad a chur le chéile agus iad a chur isteach i script amháin.


import json
from selenium.webdriver.chrome.options import Options
from seleniumwire import webdriver as wiredriver
from bs4 import BeautifulSoup

proxy_address = ""
proxy_username = ""
proxy_password = ""

chrome_options = Options()
chrome_options.add_argument(f'--proxy-server={proxy_address}')
chrome_options.add_argument(f'--proxy-auth={proxy_username}:{proxy_password}')

chrome_options.add_argument("--headless")

driver = wiredriver.Chrome(options=chrome_options)

url = "https://www.quora.com/How-do-you-open-your-own-company"
driver.execute_script('window.scrollBy(0, 1000)')

driver.get(url)

html = driver.page_source

soup = BeautifulSoup(html, "lxml")

question = soup.find(class_='q-box qu-userSelect--text')

# Freagra
text_of_answers = [{'question': question}]
for answer_id in range(6):
   answers = soup.find_all(
       class_=f'q-box dom_annotate_question_answer_item_{answer_id} qu-borderAll qu-borderColor--raised qu-boxShadow--small qu-mb--small qu-bg--raised')

   for answer in answers:
       text = answer.find('p', class_='q-text qu-display--block qu-wordBreak--break-word qu-textAlign--start').text
       text_of_answers.append({
           'answers': text,
       })

with open(f'Quora_data.json', 'w', encoding='utf-8') as json_file:
   json.dump(text_of_answers, json_file, ensure_ascii=False, indent=4)
   print(f"Quora_data.json")

Deireadh

San Airteagal seo phléigh muid na modhanna a bhaineann le scríobadh Quora le Python. Cuireann scripteanna den sórt sin a tógadh ar chumas úsáideoirí roinnt srianta a shárú chomh maith le sárú agus coigilt sonraí i bhformáidí éagsúla ar nós JSON agus CSV.

Maidir le bailiú sonraí ar scála mór, is é an modh is éifeachtaí ná API Quora a úsáid. Ar an láimh eile, má roghnaíonn tú go straitéiseach úsáid a bhaint as BeautifulSoup nó Selenium go straitéiseach, ní mór feidhmíocht leanúnach a úsáid le freastalaithe seachfhreastalaí.

Tuairimí:

0 tuairimí