【发布时间】:2021-07-11 15:15:35
【问题描述】:
我无法抓取多个页面。我认为我的错误出在 baseurl+str 中,但不确定如何继续。我感谢任何想法和建议。
基本页面--https://www.premier1supplies.com/p/prima-heat-lamp
import requests
from lxml import html
import pandas as pd
import time
from IPython.display import display, clear_output
baseURL = "https://www.premier1supplies.com/p/prima-heat-lamp"
mypath = '//*[@id="product-information-tab-pane-reviews"]/div/div[4]/div/div/div[2]/p[2]'
reviews_all =[]
for i in range (5):
URL=baseURL+str(i+1)
page = requests.get(URL)
root = html.fromstring(page.content)
reviews = [s.text for s in root.xpath(mypath)]
reviews_all.extend(reviews)
time.sleep(0.5)
clear_output()
print(URL)
df = pd.DataFrame({'Review': reviews_all})
我可以使用以下代码从第一页正常拉出,但拉出多个页面是我遇到问题的地方。 评论标签的第 2 页—— https://www.premier1supplies.com/p/prima-heat-lamp?slug=prima-heat-lamp&offset=5&limit=5#product-information-reviews
from lxml import html
import pandas as pd
import time
from IPython.display import display, clear_output
mypath = '//*[@id="product-information-tab-pane-reviews"]/div/div[4]/div/div/div[2]/p[2]'
URL = "https://www.premier1supplies.com/p/prima-heat-lamp?slug=prima-heat-lamp&offset=0&limit=5#product-information-reviews"
page = requests.get(URL)
root = html.fromstring(page.content)
reviews = [s.text_content() for s in root.xpath(mypath)]
【问题讨论】:
-
您得到的具体错误是什么?
-
此外,如果您没有考虑到解析的美丽汤,该网站是否没有公共 api 会更好地访问?
-
就是我创建数据框的时候是空白的。我没有在阅读获取信息。
-
不确定公共 API
-
而且还没有考虑过解析漂亮的汤,在我的背景知识方面还是初出茅庐。
标签: python tabs screen-scraping