美文网首页
python爬虫笔记

python爬虫笔记

作者: XilinxYY | 来源:发表于2018-05-30 16:43 被阅读0次

    1、requests.get/post(url,headers = headers, params = params/data=data)

    #使用requests库 根据网页get或post请求(存在传参的话get用params,post用data),得到一个Response对象

    Response.text(打印文本)

    Response.encoding(文本编码)补充:decode()解码:decode('gbk')把一个‘gbk’转unicode编码;encode()编码:把unicode转其他编码

    Response.content(以字节的方式访问请求反应)

    Response.status_code(响应状态码)

    2、xpath解析

    from lxml import etree(导包)

    html_page = etree.HTML(Response.content)

    data = html_page.xpath('//select[@id="cx_province"]/option/@value')(xpath提取)

    3、bs4提取

    from bs4 import BeautifulSoup(导包)

    soup=BeautifulSoup(Response.content,‘lxml’)

    links = soup.find_all('a',class_='')#查找所有clas=‘’的a标签

    for  a in links:a.text(a标签下的文本),a.get('href')(a标签的连接)

    4、正则提取

    。。。。

    5、json数据提取

    json.loads()或者eval()

    6、保存session对话访问和代理ip访问

    def ip_sql():

    #存入数据库

    db = MySQLdb.connect("192.168.201.91","root","123456","spidertools" )# 打开数据库连接

    cursor = db.cursor()# 使用cursor()方法获取操作游标

    sql="SELECT * FROM proxyippool; "# 创建数据表SQL语句

    cursor.execute(sql)

    results = cursor.fetchall()# 获取所有记录列表

    for row in results:

    ip=row[0]+'://'+row[1]+':'+row[2]

    ip_data.append(ip)

    db.commit()

    # 关闭数据库连接

    db.close()

    # return ip_data

    def savesql_hotel(data,savepoint_name):

    import sqlite3

        #创建数据库sqlite3

        con=sqlite3.connect(savepoint_name)

        con.execute('''CREATE TABLE IF NOT  EXISTS data

            (

            hoteltype varchar(200) NOT NULL,

            -- province varchar(200) NOT NULL,

            city varchar(200) NOT NULL,

            name varchar(1000) DEFAULT NULL,

            address varchar(1000) DEFAULT NULL,

            salesTel varchar(100) DEFAULT NULL,

            lat varchar(100) DEFAULT NULL,

            lng varchar(100) DEFAULT NULL,

            Url  varchar(1000) DEFAULT NULL);''')

        # 插入数据

        sql='insert into data(hoteltype,city,name,address,salesTel,lat,lng,Url)\

        values("%s","%s","%s","%s","%s","%s","%s","%s")'%(u'',data[0],data[1],data[2],data[3],data[4],data[5],data[6])

        con.execute(sql)

        con.commit()

        con.close()

    se = requests.session()

    ip= random.sample(ip_data,1)[0]从得到的代理ip池中随机取出一个

    se.proxies = {'http': ip,'https': ip}

    jstext=se.get('http://www.sicy......',headers=headers).content

    相关文章

      网友评论

          本文标题:python爬虫笔记

          本文链接:https://www.haomeiwen.com/subject/kpfxsftx.html