python 使用cookies,用requests爬去淘宝页面

大学慕课《python网络爬虫与信息提取》的源代码

https://www.icourse163.org/learn/BIT-1001870001?tid=1206951268#/learn/content?type=detail&id=1211970252&cid=1215042973

具体代码如下

#CrowTaobaoPrice.py
import requests
import re
 
def getHTMLText(url):
    try:
        r = requests.get(url, timeout=30)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return ""
     
def parsePage(ilt, html):
    try:
        plt = re.findall(r'\"view_price\"\:\"[\d\.]*\"',html)
        tlt = re.findall(r'\"raw_title\"\:\".*?\"',html)
        for i in range(len(plt)):
            price = eval(plt[i].split(':')[1])
            title = eval(tlt[i].split(':')[1])
            ilt.append([price , title])
    except:
        print("")
 
def printGoodsList(ilt):
    tplt = "{:4}\t{:8}\t{:16}"
    print(tplt.format("序号", "价格", "商品名称"))
    count = 0
    for g in ilt:
        count = count + 1
        print(tplt.format(count, g[0], g[1]))
         
def main():
    goods = '书包'
    depth = 3
    start_url = 'https://s.taobao.com/search?q=' + goods
    infoList = []
    for i in range(depth):
        try:
            url = start_url + '&s=' + str(44*i)
            html = getHTMLText(url)
            parsePage(infoList, html)
        except:
            continue
    printGoodsList(infoList)
     
main()

因为淘宝的改进,这个代码爬不出来。需要伪装headers

找cookies

链接: 淘宝.
F12  F5

成功的代码,更改要点见图

在这里插入图片描述

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python虫中,requests库是非常常用的一个库,它提供了简洁而强大的API来发送HTTP请求。对于使用requests库进行虫,以下是一些基本操作和高级用法的介绍: 基本操作: 1. 安装requests库:使用pip命令可以安装requests库,例如:`pip install requests`。 2. 导入requests库:在Python脚本中导入requests库,例如:`import requests`。 3. 发起GET请求:使用requests库的get方法可以发起GET请求,例如:`response = requests.get(url)`。 4. 发起POST请求:使用requests库的post方法可以发起POST请求,例如:`response = requests.post(url, data)`。 5. 响应内容:通过response对象可以获取请求的响应内容,例如:`response.text`返回响应内容的字符串形式。 高级用法: 1. 请求头部信息:可以通过headers参数来设置请求头部信息,例如:`headers = {"User-Agent": "Mozilla/5.0"}`,然后将headers作为参数传入GET或POST请求中。 2. 发送参数:可以通过params参数来发送请求参数,例如:`params = {"key": "value"}`,然后将params作为参数传入GET请求中。 3. 发送数据:可以通过data参数来发送POST请求的数据,例如:`data = {"key": "value"}`,然后将data作为参数传入POST请求中。 4. 文件上传:可以通过files参数来上传文件,例如:`files = {"file": open("filename", "rb")}`,然后将files作为参数传入POST请求中。 5. 超时设置:可以通过timeout参数来设置请求的超时时间,例如:`timeout = 5`,表示设置超时时间为5秒。 6. 会话管理:可以使用Session对象来管理会话,例如:`session = requests.Session()`,然后可以使用session对象发送多个请求,会话对象会自动保存和使用Cookies信息。 7. 重定向处理:可以通过allow_redirects参数来控制是否允许重定向,默认为True,可以设置为False来禁止重定向。 8. SSL验证:可以通过verify参数来控制SSL证书验证,默认为True,可以设置为False来禁止验证。 总结:以上是Python虫中使用requests库的一些基本操作和高级用法。你可以根据具体的需求来选择合适的方法和参数来发送HTTP请求,并获取响应内容。记得根据实际情况进行异常处理和错误判断,以保证虫的稳定性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值