python3入门教程小白入门(一、GET方法)

一、安装python(windows/linux)

详细安装方法:请自行百度安装python,官方网址:www.python.org

安装完python之后在cmd或者terminal输入python/python3

windows:

linux:

二、python爬虫所需包或插件

  1. requests(点击查看官方文档)作用:请求网页结构
  2. BeautifulSoup4(点击查看官方文档)作用:分析html
  3. pip安装上方两个包都需要用到pip

详细安装方法:

1.首先检测是否含有pip,在cmd或者terminal输入 pip 下方以windows为例

出现这种代表安装成功,如果没有出现则输入

python -m pip install --upgrade pip  

等待安装成功

2.安装requests

pip install requests

3.安装BeautifulSoup4

pip install BeautifulSoup4

我这里已经安装好了所以不再进行图片展示,如有不会,请自行百度requests、BeautifulSoup4安装

上述包安装完毕之后检测是否安装成功,按照下方命令操作,如果没有报错则代表安装成功

 

三、爬取某东电脑销量、价格、名称等数据

  1. 分析我们需要什么
  2. 分析网页代码
  3. 编写python代码

详细操作流程

1.我们需要 标题、价格、店铺名称

2.分析网页结构

发现规律电脑列表统一class名称为 gl-item

利用requests首先要知道网页信息:Request URL \ Request Method

 

3.编写代码(新建 jd.py )

import requests #引入requests
#要爬的url
url = 'https://list.jd.com/list.html?cat=670%2C671%2C672&go=0'
#访问及定义编码
res = requests.get(url)
res.encoding = 'utf-8'
print(res.text)

cmd执行python jd.py出现html即为成功,如下图所示

利用BeautifulSoup拿到我们需要的class内信息,到此刻已经能够拿到初始数据,但需要优化

这里需要利用html5lib包,安装方法:

pip install html5lib

import requests #引入requests
from bs4 import BeautifulSoup #引入网页分析
#要爬的url
url = 'https://list.jd.com/list.html?cat=670%2C671%2C672&go=0'
#访问及定义编码
res = requests.get(url)
res.encoding = 'utf-8'
#利用BeautifulSoup分析网页为html5,需要安装html5lib
soup = BeautifulSoup(res.text, 'html5lib')
print(soup.select('.gl-item'))

再次查看网页发现,我们需要 .gl-item 内的 <i></i>标签和<em></em>标签

编写代码

import requests #引入requests
from bs4 import BeautifulSoup #引入网页分析
#要爬的url
url = 'https://list.jd.com/list.html?cat=670%2C671%2C672&go=0'
#访问及定义编码
res = requests.get(url)
res.encoding = 'utf-8'
#利用BeautifulSoup分析网页为html5,需要安装html5lib
soup = BeautifulSoup(res.text, 'html5lib')
#循环我们得到的数据,拿到需要的数据
for item in soup.select('.gl-item'):
    try:
        print(item.select('.J_price i'), item.select('.p-name em'))
    except OSError:
        pass
    continue

执行 python jd.py会发现没有价格,这里就涉及到requests头信息了,某东的反扒机制,要传浏览器头模仿一个真实访客

在上方代码添加headers头信息,发现就算加上头部信息,爬出来的还是没有价格,退而求其次去京东搜索页面爬取

import requests #引入requests
from bs4 import BeautifulSoup #引入网页分析
#要爬的url
url = 'https://list.jd.com/list.html?cat=670%2C671%2C672&go=0'
#设置访客头信息
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36",
}
#访问及定义编码
res = requests.get(url, headers = headers)
res.encoding = 'utf-8'
#利用BeautifulSoup分析网页为html5,需要安装html5lib
soup = BeautifulSoup(res.text, 'html5lib')
#循环我们得到的数据,拿到需要的数据
for item in soup.select('.gl-item'):
    try:
        print(item.select('.J_price i'), item.select('.p-name em'))
    except OSError:
        pass
    continue

 

退而求其次去搜索页面爬取,重复上方步骤,分析页面、编写代码

import requests #引入requests
from bs4 import BeautifulSoup #引入网页分析
#要爬的url
url = 'https://search.jd.com/search?keyword=%E8%81%94%E6%83%B3%E6%8B%AF%E6%95%91%E8%80%85&enc=utf-8&qrst=1&rt=1&stop=1&spm=a.0.0&vt=2&bs=1&ev=exbrand_%E8%81%94%E6%83%B3%EF%BC%88Lenovo%EF%BC%89%5E&cid3=672'
#设置访客头信息
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36",
}
#访问及定义编码
res = requests.get(url, headers=headers)
res.encoding = 'utf-8'
#利用BeautifulSoup分析网页为html5,需要安装html5lib
soup = BeautifulSoup(res.text, 'html5lib')
#循环我们得到的数据,拿到需要的数据
for item in soup.select(".gl-item"):
    try:
        print(item.select("i")[0].text, item.select("em")[1].text)
        for item2 in item.select("span.J_im_icon"):
            print(item2.select("a")[0].text)
    except OSError:
        pass
    continue

至此大功告成 价格、标题、店铺都已经拿到,即可进行下一步操作,比如存库

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值