![](/img/trans.png)
[英]Python web scraping with requests and beautiful soup blocked by needing javascript
[英]Extracting Javascript Variable Object Data in Python and Beautiful Soup Web Scraping
目前,我可以从使用请求发送的帖子请求(然后是Soup)中抓取Javascript数据。 但是我只想刮擦产品的PLU,SKU,描述和品牌。 我正在努力寻找一种方法,使我可以只打印所需的数据,而不是整个脚本。 这是我使用汤提取脚本后打印的文本。 我将在多个发帖请求中抓取不止一种产品,因此“大块”的想法实际上并不适合。
<script type="text/javascript">
var dataObject = {
platform: 'desktop',
pageType: 'basket',
orderID: '',
pageName: 'Basket',
orderTotal: '92.99',
orderCurrency: 'GBP',
currency: 'GBP',
custEmail: '',
custId: '',
items: [
{
plu: '282013',
sku: '653460',
category: 'Footwear',
description: 'Mayfly Lite Pinnacle Women's',
colour: '',
brand: 'Nike',
unitPrice: '90',
quantity: '1',
totalPrice: '90',
sale: 'false'
} ]
};
如您所见,这是太多信息。
这个怎么样:
循环浏览每行以检查该行是否具有所需的术语,然后打印出该术语:
chunk = ''' <script type="text/javascript"> var dataObject = { .........blah blah....... plu: '282013', sku: '653460', category: 'Footwear', description: 'Mayfly Lite Pinnacle Women's', colour: '', brand: 'Nike', ..... blah ....... };''' keys = ['plu', 'sku', 'description', 'brand'] for line in chunk.splitlines(): if line.split(':')[0].strip() in keys: print line.strip()
结果:
plu: '282013',
sku: '653460',
description: 'Mayfly Lite Pinnacle Women's',
brand: 'Nike',
您显然可以使用split
, strip
, replace
等类似的应用程序清理结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.