码迷,mamicode.com
首页 > Web开发 > 详细

爬取购物网站某类商品多个页面并存储

时间:2018-08-29 18:05:21      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:pre   close   write   html   for   status   enc   import   requests   

# -*- coding: utf-8 -*-

import time
import requests
import re
from bs4 import BeautifulSoup


# 获取页面
def getHTMLText(url):
    try:
        r = requests.get(url, timeout=30)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return ""

# 获取前n页并存储
def getPage(n):
    # 存储页面的文件
    f = "Pages.html"
    fo = open(f,"w",encoding=‘utf-8‘)        # 默认是gbk编码,后面的网页内容是decode过的unicode编码,会导致解析不了

    for i in range(1,2*n+1,2):
        time.sleep(0.5)
        url="http://search.jd.com/search?keyword=%E7%83%AD%E6%B0%B4%E5%99%A8&enc=utf-8&qrst=1&rt=1&stop=1&vt=2&wq=%E7%83%AD%E6%B0%B4%E5%99%A8&ev=exbrand_%E6%B5%B7%E5%B0%94%EF%BC%88Haier%EF%BC%89%5E&stock=1&page="+str(i)
        r=getHTMLText(url)

        fo.write(r)                    # 向文件写入一个字符串或字节流
        fo.seek(2)                     # 指向文件结尾
    fo.close()

getPage(46)

fo = open("Pages.html","rt",encoding="utf-8")
r=fo.read()
fo.close()

suop=BeautifulSoup(r,"html.parser")
print(suop.find_all("a"))

  

爬取购物网站某类商品多个页面并存储

标签:pre   close   write   html   for   status   enc   import   requests   

原文地址:https://www.cnblogs.com/Lengjie/p/9555559.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!