生活不易 我用python爬虫专题程序员

2017-4-3记爬点评酒店的一次玄学debug

2017-04-03  本文已影响0人  CvnYv

其实3月29日就写了爬取点评酒店的代码(想以后去成都工作生活所以就选了成都),但当天运行爬到第三页就出错了,由于功力尚浅,debug了一晚上不知什么原因造成了bug,就放那等日后再说了.今天尝试run了一下,又可以用了,不知是什么神秘力量暗中抬了我一手.
开发环境python3.5, PyCharm, Ubuntu16.0.4
暂时还只会写点简单的代码抓取静态页面,所以用到的库都很简单:

分析网页

链接.png

for n in range(1,51):

    url ='http://www.dianping.com/chengdu/hotel/p'+str(n)

详情.png
        soup = BeautifulSoup(html, "lxml")
        ul_list = soup.find("ul", attrs={"class": "hotelshop-list"})
        for li_list in ul_list.find_all("li", attrs={"class": " hotel-block"
                                                     " J_hotel-block"}):
            hotel_name = li_list.find("h2", attrs={"class": "hotel-name"}).a.string
            hotel_url = 'http://www.dianping.com' + li_list.find("h2", attrs={
                "class": "hotel-name"}).a['href']
            hotel_place = li_list.find("p", attrs={"class": "place"}).a.string\
                          + ', ' + li_list.find("span", attrs={"class": "walk-dist"}).string
            hotel_price = li_list.find("div", attrs={"class": "price"}).strong.string

把爬到的数据保存到csv文件


csv_file =open("../files/chengduhotel.csv",'wt',encoding='utf-8')

try:

    writer = csv.writer(csv_file)

    writer.writerow(('酒店名称','位置','价格','详情链接'))

    writer.writerow((hotel_name,hotel_place,hotel_price,hotel_url))

效果图

效果.png

源码

https://github.com/CvnYv/learn-spider/blob/master/2017-3-29%E5%AD%98%E5%82%A8%E9%85%92%E5%BA%97%E6%95%B0%E6%8D%AE.py

上一篇下一篇

猜你喜欢

热点阅读