приятно познакомиться!
Я пытаюсь использовать Scrapfly для сбора отзывов сотрудников с таких сайтов, как Indeed или Glassdoor.
Однако я столкнулся с постоянной проблемой, о которой просто не могу судить. которую нужно решить.
Данные, которые я пытаюсь очистить, не проходят — в результатах отображаются только заголовки.
Что бы я ни пытался, я продолжаю сталкиваться с ужасным «пустым фреймом данных». проблема.
Я следил за примерами кода других людей, но у меня это не сработало.
Как другие успешно собирают эти обзоры?
Есть ли кто-нибудь, кто может одолжить руку помощи?
Буду очень признателен за вашу доброту!
!pip install beautifulsoup4 pandas lxml requests
!git clone https://github.com/scrapfly/python-sdk.git
%cd python-sdk
!pip install .
from scrapfly.client import ScrapflyClient
import os
os.environ["SCRAPFLY_KEY"] = "my key"
import os
import pandas as pd
from scrapfly.client import ScrapflyClient
from bs4 import BeautifulSoup
# Scrapfly API 키 설정
os.environ["SCRAPFLY_KEY"] = "my key"
SCRAPFLY_KEY = os.getenv("SCRAPFLY_KEY")
client = ScrapflyClient(key=SCRAPFLY_KEY)
# 결과를 저장할 리스트 초기화
lst = []
# 페이지를 순회하며 데이터 수집
for i in range(0, 240, 20): # 페이지 번호 범위
print(f"Scraping page {i // 20 + 1}...")
url = f"https://www.indeed.com/cmp/Airbnb/reviews?start={i}"
try:
# Scrapfly를 사용하여 데이터 요청
response = client.scrape({"url": url, "render_js": False}) # JavaScript 렌더링 필요 시 True로 설정
soup = BeautifulSoup(response.content, 'lxml')
main_data = soup.find_all("div", attrs={"data-tn-section": "reviews"})
# 데이터 추출
for data in main_data:
try:
title = data.find("h2").get_text(strip=True)
except AttributeError:
title = None
try:
author_status = data.find("span", attrs={"itemprop": "author"}).get_text(strip=True)
author = author_status.split("-")[1] if "-" in author_status else None
status = author_status.split("-")[0] if "-" in author_status else None
except AttributeError:
author, status = None, None
try:
review = data.find("span", attrs={"itemprop": "reviewBody"}).get_text(strip=True)
except AttributeError:
review = None
try:
pros = data.find("div", class_="cmp-review-pro-text").get_text(strip=True)
except AttributeError:
pros = None
try:
cons = data.find("div", class_="cmp-review-con-text").get_text(strip=True)
except AttributeError:
cons = None
try:
rating = data.find("div", attrs={"itemprop": "reviewRating"}).find("button")['aria-label'].split(" ")[0]
except AttributeError:
rating = None
# 결과를 리스트에 추가
lst.append([title, author, status, pros, cons, review, rating])
except Exception as e:
print(f"Error on page {i // 20 + 1}: {e}")
# DataFrame 생성
df = pd.DataFrame(lst, columns=['Title', 'Author', 'Status', 'Pros', 'Cons', 'Review', 'Rating'])
# 결과 출력 및 저장
print(df.head())
df.to_csv("/content/drive/MyDrive/indeed_reviews_scrapfly.csv", index=False)
Scraping page 1...
Error on page 1: 'dict' object has no attribute 'method'
Scraping page 2...
Error on page 2: 'dict' object has no attribute 'method'
Scraping page 3...
Error on page 3: 'dict' object has no attribute 'method'
Scraping page 4...
Error on page 4: 'dict' object has no attribute 'method'
Scraping page 5...
Error on page 5: 'dict' object has no attribute 'method'
Scraping page 6...
Error on page 6: 'dict' object has no attribute 'method'
Scraping page 7...
Error on page 7: 'dict' object has no attribute 'method'
Scraping page 8...
Error on page 8: 'dict' object has no attribute 'method'
Scraping page 9...
Error on page 9: 'dict' object has no attribute 'method'
Scraping page 10...
Error on page 10: 'dict' object has no attribute 'method'
Scraping page 11...
Error on page 11: 'dict' object has no attribute 'method'
Scraping page 12...
Error on page 12: 'dict' object has no attribute 'method'
Empty DataFrame
Columns: [Title, Author, Status, Pros, Cons, Review, Rating]
Index: []
Подробнее здесь: https://stackoverflow.com/questions/791 ... ping-emplo
Я хочу выяснить, как исправить ошибки, с которыми я сталкиваюсь при сборе отзывов сотрудников с Indeed и Glassdoor с пом ⇐ Python
Программы на Python
1731913652
Anonymous
приятно познакомиться!
Я пытаюсь использовать Scrapfly для сбора отзывов сотрудников с таких сайтов, как Indeed или Glassdoor.
Однако я столкнулся с постоянной проблемой, о которой просто не могу судить. которую нужно решить.
Данные, которые я пытаюсь очистить, не проходят — в результатах отображаются только заголовки.
Что бы я ни пытался, я продолжаю сталкиваться с ужасным «пустым фреймом данных». проблема.
Я следил за примерами кода других людей, но у меня это не сработало.
Как другие успешно собирают эти обзоры?
Есть ли кто-нибудь, кто может одолжить руку помощи?
Буду очень признателен за вашу доброту!
!pip install beautifulsoup4 pandas lxml requests
!git clone https://github.com/scrapfly/python-sdk.git
%cd python-sdk
!pip install .
from scrapfly.client import ScrapflyClient
import os
os.environ["SCRAPFLY_KEY"] = "my key"
import os
import pandas as pd
from scrapfly.client import ScrapflyClient
from bs4 import BeautifulSoup
# Scrapfly API 키 설정
os.environ["SCRAPFLY_KEY"] = "my key"
SCRAPFLY_KEY = os.getenv("SCRAPFLY_KEY")
client = ScrapflyClient(key=SCRAPFLY_KEY)
# 결과를 저장할 리스트 초기화
lst = []
# 페이지를 순회하며 데이터 수집
for i in range(0, 240, 20): # 페이지 번호 범위
print(f"Scraping page {i // 20 + 1}...")
url = f"https://www.indeed.com/cmp/Airbnb/reviews?start={i}"
try:
# Scrapfly를 사용하여 데이터 요청
response = client.scrape({"url": url, "render_js": False}) # JavaScript 렌더링 필요 시 True로 설정
soup = BeautifulSoup(response.content, 'lxml')
main_data = soup.find_all("div", attrs={"data-tn-section": "reviews"})
# 데이터 추출
for data in main_data:
try:
title = data.find("h2").get_text(strip=True)
except AttributeError:
title = None
try:
author_status = data.find("span", attrs={"itemprop": "author"}).get_text(strip=True)
author = author_status.split("-")[1] if "-" in author_status else None
status = author_status.split("-")[0] if "-" in author_status else None
except AttributeError:
author, status = None, None
try:
review = data.find("span", attrs={"itemprop": "reviewBody"}).get_text(strip=True)
except AttributeError:
review = None
try:
pros = data.find("div", class_="cmp-review-pro-text").get_text(strip=True)
except AttributeError:
pros = None
try:
cons = data.find("div", class_="cmp-review-con-text").get_text(strip=True)
except AttributeError:
cons = None
try:
rating = data.find("div", attrs={"itemprop": "reviewRating"}).find("button")['aria-label'].split(" ")[0]
except AttributeError:
rating = None
# 결과를 리스트에 추가
lst.append([title, author, status, pros, cons, review, rating])
except Exception as e:
print(f"Error on page {i // 20 + 1}: {e}")
# DataFrame 생성
df = pd.DataFrame(lst, columns=['Title', 'Author', 'Status', 'Pros', 'Cons', 'Review', 'Rating'])
# 결과 출력 및 저장
print(df.head())
df.to_csv("/content/drive/MyDrive/indeed_reviews_scrapfly.csv", index=False)
Scraping page 1...
Error on page 1: 'dict' object has no attribute 'method'
Scraping page 2...
Error on page 2: 'dict' object has no attribute 'method'
Scraping page 3...
Error on page 3: 'dict' object has no attribute 'method'
Scraping page 4...
Error on page 4: 'dict' object has no attribute 'method'
Scraping page 5...
Error on page 5: 'dict' object has no attribute 'method'
Scraping page 6...
Error on page 6: 'dict' object has no attribute 'method'
Scraping page 7...
Error on page 7: 'dict' object has no attribute 'method'
Scraping page 8...
Error on page 8: 'dict' object has no attribute 'method'
Scraping page 9...
Error on page 9: 'dict' object has no attribute 'method'
Scraping page 10...
Error on page 10: 'dict' object has no attribute 'method'
Scraping page 11...
Error on page 11: 'dict' object has no attribute 'method'
Scraping page 12...
Error on page 12: 'dict' object has no attribute 'method'
Empty DataFrame
Columns: [Title, Author, Status, Pros, Cons, Review, Rating]
Index: []
Подробнее здесь: [url]https://stackoverflow.com/questions/79198978/i-want-to-figure-out-how-to-fix-the-errors-im-running-into-while-scraping-emplo[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия