小爬虫

注:本人菜鸟一枚,自学python,记录学习过程中所学所思,希望自己有所收获

__author__ = 'juehuan'
import requests
import json
import time


class cldata():
    def __init__(self):
        self.url = 'http://125.35.6.84:81/xk/itownet/portalAction.do?method=getXkzsList'
        self.header = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36'}
        self.cookie = {
            'Cookie': 'JSESSIONID=02EF275A008A3ADEE700B04B543AE18E; JSESSIONID=A7FC968A8F43B9DA2EABBA61D72602CC'}
        self.f = open('食品.txt', 'w', encoding='utf-8')
        self.f.write('企业名称 | 许可证编号 | 发证机关 | 有效期至 | 发证日期\n')

    def get_cfda(self, page):
        self.data = {
            'on': True,
            'page': page,
            'pageSize': 15,
            'productName': '',
            'conditionType': 1,
            'applyname': '',
            'applysn': ''
        }
        self.html = requests.post(self.url, data=self.data, headers=self.header, cookies=self.cookie)
        datas = self.html.json()
        for i in datas['list']:
            self.write_cfda(i)

    def write_cfda(self, company):
        try:
            self.f.write('%s | %s | %s | %s | %s\n' % (
                company['EPS_NAME'], company['EPS_NAME'], company['QF_MANAGER_NAME'],
                company['XK_DATE'], company['XC_DATE']))
        except:
            print('写入错误')

    def close(self):
        self.f.close()


if __name__ == '__main__':
    start_time = time.time()
    cfda = cldata()
    for i in range(1, 271):
        cfda.get_cfda(i)
    cfda.close()
    end_time = time.time()
    print('total time :', end_time - start_time)

总结:涉及面向对象(self)、爬虫requests的post方式、列表等知识点;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 #!/usr/bin/python 使用魔法字符调用python 2 3 from sys import ar...
    jazzi阅读 4,125评论 2 0
  • 目的:用urllib2,爬一堆风景图片 重点代码 response = urllib2.urlopen(url)....
    l_sivan阅读 2,425评论 0 2
  • 时隔一年,AI、无用阶层、游戏人生……等话题越来越近,旧文新发~~~ 最近看了《机器危机》,它是 @七印部落 翻译...
    iamsujie阅读 10,775评论 21 69
  • 下面这张图片是在画一些图型时所需参考的 UIBezierPath对象是CGPathRef数据类型的封装。path如...
    Amanda_Lhy阅读 3,362评论 0 0
  • 1. 算了。 2. 奶奶说她在家安了WiFi只是为了让我在家多陪陪她。 3. 柴静采访星爷,星爷说的最后一句:“谢...
    水壶里面开帆船阅读 3,921评论 0 2