使用 css 样式使用 Beautifulsoup 从网站抓取数据
Scrape Data from Website using css style Using Beautifull soup
我有一个网站,我想从中获取优惠券 codes.I 有两个问题 here.Am 使用 python 和美丽的汤。
1) span 标签中显示的一些优惠券没有 class 或 id,因此无法从这些 tags.i 中获取优惠券,需要从强标签 (AXISCB50)
中获取
<h6><span style="color: #808000">25% Cashback on Recharges :</span></h6>
<ul>
<li>Get 25% Cashback upto Rs.25 per transaction.</li>
<li>Coupon Code : <span style="color: #ff0000"><strong>AXISCB50</strong></span></li>
<li>Maximum 2 transaction per Debit/Credit card.</li>
</ul>
是否可以通过指定 style="color: #808000 something like this(style)" 来抓取。
2)一些优惠券是通过ajax显示的,只有在我们点击button.How后才会显示,我会抓取_这些数据是通过显示的脚本?
第一次参与网络抓取 time.Any 感谢帮助并提前致谢。
要获取优惠券代码,我不会依赖颜色样式属性。相反,获取 next element 到 Coupon Code
text:
soup.find(text=lambda x: x and x.startswith('Coupon Code')).next_element.text
演示:
>>> from bs4 import BeautifulSoup
>>>
>>> data = """
... <h6><span style="color: #808000">25% Cashback on Recharges :</span></h6>
... <ul>
... <li>Get 25% Cashback upto Rs.25 per transaction.</li>
... <li>Coupon Code : <span style="color: #ff0000"><strong>AXISCB50</strong></span></li>
... <li>Maximum 2 transaction per Debit/Credit card.</li>
... </ul>
... """
>>>
>>> soup = BeautifulSoup(data)
>>>
>>> print soup.find(text=lambda x: x.startswith('Coupon Code')).next_element.text
AXISCB50
Some coupons are displayed via ajax which is displayed only once we
click the button.How will i scrape_ these data which is displayed via
script?
您需要研究单击按钮时发送的请求。使用浏览器开发人员工具,网络选项卡。然后,在您的 python 代码中模拟请求。 requests
通常是一个不错的选择。
我有一个网站,我想从中获取优惠券 codes.I 有两个问题 here.Am 使用 python 和美丽的汤。 1) span 标签中显示的一些优惠券没有 class 或 id,因此无法从这些 tags.i 中获取优惠券,需要从强标签 (AXISCB50)
中获取<h6><span style="color: #808000">25% Cashback on Recharges :</span></h6>
<ul>
<li>Get 25% Cashback upto Rs.25 per transaction.</li>
<li>Coupon Code : <span style="color: #ff0000"><strong>AXISCB50</strong></span></li>
<li>Maximum 2 transaction per Debit/Credit card.</li>
</ul>
是否可以通过指定 style="color: #808000 something like this(style)" 来抓取。
2)一些优惠券是通过ajax显示的,只有在我们点击button.How后才会显示,我会抓取_这些数据是通过显示的脚本?
第一次参与网络抓取 time.Any 感谢帮助并提前致谢。
要获取优惠券代码,我不会依赖颜色样式属性。相反,获取 next element 到 Coupon Code
text:
soup.find(text=lambda x: x and x.startswith('Coupon Code')).next_element.text
演示:
>>> from bs4 import BeautifulSoup
>>>
>>> data = """
... <h6><span style="color: #808000">25% Cashback on Recharges :</span></h6>
... <ul>
... <li>Get 25% Cashback upto Rs.25 per transaction.</li>
... <li>Coupon Code : <span style="color: #ff0000"><strong>AXISCB50</strong></span></li>
... <li>Maximum 2 transaction per Debit/Credit card.</li>
... </ul>
... """
>>>
>>> soup = BeautifulSoup(data)
>>>
>>> print soup.find(text=lambda x: x.startswith('Coupon Code')).next_element.text
AXISCB50
Some coupons are displayed via ajax which is displayed only once we click the button.How will i scrape_ these data which is displayed via script?
您需要研究单击按钮时发送的请求。使用浏览器开发人员工具,网络选项卡。然后,在您的 python 代码中模拟请求。 requests
通常是一个不错的选择。