![](/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.