Python中第一列的爬网网站

时间:2014-01-07 01:51:32

标签: python web-crawler

我使用Python使用以下代码抓取网站

def ReadContent(url):
    html = GetWebPageContent(url)

    parser = ReadingContentParser(strict=False)
    parser.feed(html)

    if not parser.text_appear:
        print("Ipad Mini is on sale!")
        Alert()
    else:
        print("Ipad Mini is not available!")

ReadContent(URL_TO_CHECK)

现在我要检查一下IPhone Gold(16GB)是“可用”还是“快速销售”here,我应该如何检查?问题是我不知道如何只获取状态黄金(16GB)但不是黄金(32GB)黄金(64GB),因为它们都在一张大桌子上。我该怎么办?它有用吗?我应该使用像Scrapy这样的其他库吗?

1 个答案:

答案 0 :(得分:1)

您可以使用lxml with xpath

from lxml import html
url = "http://info.singtel.com/personal/phones-plans/mobile/ios/iphone5s?type=2&device=1312&colour=gold#stock-availability"
doc = html.parse(url)
for tr in doc.xpath('//div[@class="available-stock"]//tr'):
    if tr.xpath('td'):
        print tr.xpath('td[1]')[0].text.strip(), 
              tr.xpath('td[2]/strong')[0].text == 'Sold Out'

输出:

City Square Mall True
ION Orchard True
Plaza Singapura True
Raffles City True
United Square True
...