我是python的初学者,我正在尝试构建一个python程序,该程序将从http://turnpikeshoes.com/shop/TCF00003中抓取产品说明。 Python有很多库,我敢肯定有很多方法可以实现我的目标。我已经成功完成了一些使用请求的抓取,但是我要查找的字段没有显示出来,使用chromes inspector我发现了一个Ajax POST请求。

这是我的代码

from lxml import html
import requests

url = 'http://turnpikeshoes.com/shop/TCF00003'
#URL
headers = {'user-agent': 'my-app/0.0.1'}
#Header info sent to server
page = requests.get(url, headers=headers)
#Get response
tree = html.fromstring(page.content)
#Page Content


ShortDsc = tree.xpath('//span[@itemprop="reviewBody"]/text()')

LongDsc = tree.xpath('//li[@class="productLongDescription"]/text()')

print 'ShortDsc:', ShortDsc
print 'LongDsc:', LongDsc


我想我需要直接向admin-ajax.php发送请求

任何帮助是极大的赞赏

最佳答案

如果您想抓取JavaScript内容,则在这种情况下应尝试使用硒:

from selenium import webdriver
import time

driver = webdriver.PhantomJS()
driver.get("http://turnpikeshoes.com/shop/TCF00003")
time.sleep(5)

LongDsc = driver.find_element_by_class_name("productLongDescription").text

print 'LongDsc:', LongDsc


顺便说一句,您还应该将PhantomJS安装为无头浏览器。

10-08 11:54