关于爬取京东商品界面出现的passport

MOOC关于爬取京东商品界面的实例:

import requests
url = "https://item.jd.com/100002795959.html"
try:
    r = requests.get(url)
    r.raise_for_status()
    r.encoding = r.apparent_encoding
    print(r.text[:1000])
except:
    print("爬取失败")

运行后出现

<script>window.location.href='https://passport.jd.com/uc/login?ReturnUrl=http://item.jd.com/100007413580.html'</script>

加入修改header的语句

import requests
url = "https://item.jd.com/100002795959.html"
try:
    kv = {'user-agent':'Mozilla/5.0'}
    r = requests.get(url,headers = kv)
    r.raise_for_status()
    r.encoding = r.apparent_encoding
    print(r.text[:1000])
except:
    print("爬取失败")

爬取成功

<!DOCTYPE HTML>
<html lang="zh-CN">
<head>
    <!-- shouji -->
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>【华为P30 Pro】华为 HUAWEI P30 Pro 超感光徕卡四摄10倍混合变焦麒麟980芯片屏内指纹 8GB+128GB极光色全网通版双4G手机【行情 报价 价格 评测】-京东</title>
    <meta name="keywords" content="HUAWEIP30 Pro,华为P30 Pro,华为P30 Pro报价,HUAWEIP30 Pro报价"/>
    <meta name="description" content="【华为P30 Pro】京东JD.COM提供华为P30 Pro正品行货,并包括HUAWEIP30 Pro网购指南,以及华为P30 Pro图片、P30 Pro参数、P30 Pro评论、P30 Pro心得、P30 Pro技巧等信息,网购华为P30 Pro上京东,放心又轻松" />
    <meta name="format-detection" content="telephone=no">
    <meta http-equiv="mobile-agent" content="format=xhtml; url=//item.m.jd.com/product/100002795959.html">
    <meta http-equiv="mobile-agent" content="format=html5; url=//item.m.jd.com/product/100002795959.html">
    <meta http-equiv="X-UA-Compatible" content="IE=Edge">
    <link rel="canonical" href="//item.jd.com/100002795959.html"/>
        <link rel="dns-prefetch" href="//misc.360buyimg.com"/>
    <link rel="dns-prefet
  • 20
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
你可以通过以下步骤使用 Python 爬取京东购物车: 1. 安装必要的库:requests、BeautifulSoup、selenium。 2. 使用 requests 库向京东登录页面发送请求,获取到登录页面的 HTML。 3. 使用 BeautifulSoup 库解析登录页面的 HTML,获取到登录所需的参数,如 cookie、token 等。 4. 使用 selenium 库打开浏览器,模拟用户登录京东网站。 5. 登录成功后,访问购物车页面,获取购物车页面的 HTML。 6. 使用 BeautifulSoup 库解析购物车页面的 HTML,获取购物车中商品的信息,如商品名称、价格、数量等。 7. 将商品信息存储到本地文件或数据库中。 8. 关闭浏览器,结束程序。 示例代码如下: ```python import requests from bs4 import BeautifulSoup from selenium import webdriver # 请求登录页面 login_url = 'https://passport.jd.com/new/login.aspx' response = requests.get(login_url) # 解析登录页面,获取登录所需参数 soup = BeautifulSoup(response.text, 'html.parser') cookie = soup.find('input', {'id': 'uuid'})['value'] token = soup.find('input', {'name': 'token'})['value'] # 模拟用户登录京东网站 username = 'your_username' password = 'your_password' driver = webdriver.Chrome() driver.get(login_url) driver.find_element_by_link_text('账户登录').click() driver.find_element_by_id('loginname').send_keys(username) driver.find_element_by_id('nloginpwd').send_keys(password) driver.find_element_by_id('loginsubmit').click() # 登录成功后访问购物车页面 cart_url = 'https://cart.jd.com/cart.action' driver.get(cart_url) cart_html = driver.page_source # 解析购物车页面,获取商品信息 cart_soup = BeautifulSoup(cart_html, 'html.parser') items = cart_soup.find_all('div', {'class': 'item-item'}) for item in items: name = item.find('div', {'class': 'p-name'}).text.strip() price = item.find('div', {'class': 'p-price'}).text.strip() quantity = item.find('div', {'class': 'p-num'}).text.strip() print(name, price, quantity) # 关闭浏览器 driver.quit() ``` 注意:请勿使用爬虫程序恶意抓取京东数据,以免触犯相关法律法规。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值