Python中文
首页
教程
问答
标签
搜索
登录
注册
Flipkart.com网站使用Python提取产品'price'和产品'title'
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我编写了下面的Python代码来提取指定的<b>项的价格flipkart.com网站在</p> <pre><code>import urllib2 import bs4 import re item="Wilco Classic Library: Autobiography Of a Yogi (Hardcover)" item.replace(" ", "+") link = 'http://www.flipkart.com/search/a/all?query={0}&vertical=all&dd=0&autosuggest[as]=off&autosuggest[as-submittype]=entered&autosuggest[as-grouprank]=0&autosuggest[as-overallrank]=0&autosuggest[orig-query]=&autosuggest[as-shown]=off&Search=%C2%A0&otracker=start&_r=YSWdYULYzr4VBYklfpZRbw--&_l=pMHn9vNCOBi05LKC_PwHFQ--&ref=a2c6fadc-2e24-4412-be6a-ce02c9707310&selmitem=All+Categories'.format(item) r = urllib2.Request(link, headers={"User-Agent": "Python-urlli~"}) try: response = urllib2.urlopen(r) except: print "Internet connection error" thePage = response.read() soup = bs4.BeautifulSoup(thePage) firstBlockSoup = soup.find('div', attrs={'class': 'fk-srch-item'}) priceSoup=firstBlockSoup.find('b',attrs={'class':'fksd-bodytext price final-price'}) price=priceSoup.contents[0] print price titleSoup=firstBlockSoup.find('a',attrs={'class':'fk-srch-title-text fksd-bodytext'}) title=titleSoup.findAll('b') print title </code></pre> <p>上面的代码在执行时打印的价格没有问题。在</p> ^{pr2}$ <p>但标题的获得方式如下:</p> <pre><code>[<b>Wilco</b>, <b>Classic</b>, <b>Library</b>, <b>Autobiography</b>, <b>Of</b>, <b>a</b>, <b>Yogi</b>, <b>Hardcover</b>] </code></pre> <p>如果您查看一下<a href="http://www.flipkart.com/search-books?query=Wilco%20Classic%20Library:Autobiography%20Of%20a%20Yogi%20%28Hardcover%29&from=all&searchGroup=all&autosuggest%5Bas%5D=off&autosuggest%5Bas-submittype%5D=entered&autosuggest%5Bas-grouprank%5D=0&autosuggest%5Bas-overallrank%5D=0&autosuggest%5Borig-query%5D=&autosuggest%5Bas-shown%5D=off&selmitem=All%20Categories&otracker=start&vertical=all&_l=WE_JphiGfT8Bh6aXp1vT2w--&_r=_MFMNA8pxFY3ZpKGrqRTOA--&ref=b015ecfa-833a-4e1b-b50e-11b9515d2498" rel="nofollow">product page</a>(使用'Inspect element')的源代码,原因就显而易见了</p> <p>现在,我如何以适当的格式提取标题以便打印:</p> <pre><code>Wilco Classic Library: Autobiography Of a Yogi (Hardcover) </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>从<code>firstBlockSoup</code>标记获取标题会更容易:</p> <pre><code>>>> firstBlockSoup.attrs['data-item-name'] 'Wilco Classic Library: Autobiography Of a Yogi (Hardcover)' </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
区分轴上的像素大小
4 回答
区分过度拟合与良好预测
1 回答
区分通过POST接收的数据并在Cherrypy中获取
8 回答
区分重写和重载
3 回答
区分金贾二号的类型
10 回答
区别:IF IN和IF==python
5 回答
区别:list.append()与incrementequal?
7 回答
区别:创建在启动wx应用程序时不“阻止”控制台的脚本
9 回答
区别于python中的命令行和CGI
7 回答
区别关系
4 回答
区别是什么APIClient.enforce\ csrf\检查以及APIClient.handler.enforce\ csrf\ u检查
10 回答
区块.draw()未在python空闲模式下工作
9 回答
区块链API调用输出对象名称而不是内容
7 回答
区块链nonce值随负载变化
8 回答
区块链Python语法错误(Snakecoin)
4 回答
区块链不连接到服务器和矿工
3 回答
区块链信息钱包支票支付员
9 回答
区块链和区块链密码错误
5 回答
区块链尝试向Transaction字典添加键/值以创建区块链
7 回答
区域:IOError:[Errno 22]无效模式('w')或filenam
6 回答