import pandas as pd
from bs4 import BeautifulSoup
from time import sleep
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import sqlite3 as sql
urls = []
product_urls = []
list_of_reviews = []
# Each page urls
for i in range(1, 252):
urls.append(f"https://www.etsy.com/in-en/c/jewelry/earrings/ear-jackets-and-climbers?ref=pagination&explicit=1&page={i}")
# Scraping each product's urls | 16,064 products
for url in urls:
driver = webdriver.Chrome(executable_path=r"C:\Users\dell\Downloads\chromedriver_win32\chromedriver.exe")
driver.get(url)
sleep(5)
for i in range(1, 65):
product = WebDriverWait(driver, 20).until(EC.presence_of_element_located(By.XPATH, f'//*[@id="content"]/div/div[1]/div/div[3]/div[2]/div[2]/div[1]/div/div/ul/li[{i}]/div/a'))
product_urls.append(product.get_attribute('href'))
# Scraping each product's reviews
driver = webdriver.Chrome(executable_path='chromedriver.exe')
for product_url in product_urls[15:]:
try:
driver.get(product_url)
sleep(5)
html = driver.page_source
soup = BeautifulSoup(html,'html')
for i in range(4):
try:
list_of_reviews.append(soup.select(f'#review-preview-toggle-{i}')[0].getText().strip())
except:
continue
while(True):
try:
next_button = driver.find_element_by_xpath('//*[@id="reviews"]/div[2]/nav/ul/li[position() = last()]/a[contains(@href, "https")]')
if next_button != None:
next_button.click()
sleep(5)
html = driver.page_source
soup = BeautifulSoup(html,'html')
for i in range(4):
try:
list_of_reviews.append(soup.select(f'#review-preview-toggle-{i}')[0].getText().strip())
except:
continue
except Exception as e:
print('finsish : ', e)
break
except:
continue
scrapedReviewsAll = pd.DataFrame(list_of_reviews, index = None, columns = ['reviews'])
scrapedReviewsAll.to_csv('scrapedReviewsAll.csv')
df = pd.read_csv('scrapedReviewsAll.csv')
conn = sql.connect('scrapedReviewsAll.db')
df.to_sql('scrapedReviewsAllTable', conn)
typeerror:init()接受2个位置参数,但3个参数是在行product=WebDriverWait(driver,20)中给出的。直到(ec.presence_of_element_locited(by.xpath(f'//*[@id=“content”]/div/div[1]/div/div[3]/div[2]/div[1]/div/div[1]/div/div/ul/li[{i}]/div/a')),我在运行程序时一直得到这个错误..这个typeerror是如何解决的??
尝试将刮取href的代码改为如下:
# Scraping each product's urls | 16,064 products
for url in urls:
driver = driver = webdriver.Chrome(executable_path=r"C:\Users\dell\Downloads\chromedriver_win32\chromedriver.exe")
driver.get(url)
sleep(5)
for i in range(1, 65):
product = driver.find_element_by_xpath("//div[@id='content']//div[contains(@class,'search-listings-group')]//ul//li['"+str(i)+"']/div/a")
product_urls.append(product.get_attribute('href'))
请求header DELETE /v1/activity/{频道id}/comments/{评论id} Authorization:Bearer {ACCESS TOKEN} Content-Type:application/json 注: 请将上方的{ACCESS TOKEN}替换为您的ACCESS TOKEN 请将"{评论id}"替换您需要获取的评论id 请将"{频道id}"替换您需要获取的
问题内容: 如果文件位于另一个目录中,如何使用PHP从服务器中删除文件? 这是我的页面布局: (此文件将删除我对数据库的所有条目,并且还应删除相关文件) (文件所在的位置。) 我正在使用的功能: 但这总是给我一个错误,该文件不存在。有任何想法吗? 问题答案: 以下应该有帮助 —返回规范化的绝对路径名 —告诉文件名是否可写 —删除文件 通过realpath运行文件路径,然后检查返回的路径是否可写
您好,我正在尝试在我的Web服务中运行一个查询,但是一个查询在范围内的函数会从零开始中断。 我的代码: 错误: 获取请求失败请求失败-- 类型异常报告 Message内部服务器错误 描述服务器遇到内部错误,无法满足此请求。 例外 javax.servlet.ServletException:java.lang.NullPointerException 根本原因 JAVAlang.NullPoint
问题内容: 我刚刚在android应用程序中编写了一个函数,该函数使用Java中的标准“文件”类删除文件。即: 尽管上面的过程很简单,但我一直想知道通过“ ContentResolver”执行该操作是否有任何好处。任何意见,将不胜感激。 干杯, 杰瑞德 ------------------------------------------编辑------- 这是通过Content Resolver删
问题内容: 我已经能够使用该站点上多个用户的输入来使用python创建一个csv,并希望对您的帖子表示感谢。我现在很困惑,将发表我的第一个问题。 我的input.csv看起来像这样: 我正在尝试删除“年份”列及其所有条目。从1960年到2010年,总共有40多个条目。 问题答案: 顺便说一句,循环可以删除,但并没有真正简化。 同样,您可以以直截了当的方式坚持删除列的要求。我发现这通常是一个不好的策
本文向大家介绍React实现评论的添加和删除,包括了React实现评论的添加和删除的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了React实现评论添加和删除的具体代码,供大家参考,具体内容如下 一、效果图 二、需求描述 1. 手动输入用户名和评论内容,点击提交;输入内容被追加到右侧评论列表; 2. 点击评论列表的“删除”按钮,弹框提示确定删除用户“xx”; 3. 点击“确定”,“