乐愚社区Beta

 编程语言  >  python爬虫(一)

python爬虫(一)

P2P  L3  • 2020-11-15 • 回复 3 • 只看楼主举报    

今天简单讲一下爬虫

爬虫就是从网络上爬取(获取)数据例如音乐电影小说啥的

然后我们需要一个模块来辅助我们进行爬虫,首先打开pycharm,点击file→setting

点击加号搜索requests模块进行安装

这边简单的准备工作就好了,我们现在打开浏览器我用的是火狐

打开浏览器后按F12会跳出一个页面,然后我们按f5刷新一下会出来很多数据

在左边我们可以看到有一些方法,有post和get

常用的也就这两种请求,然后最左边有个200的数字,那个是状态码,2开头的就是正常的,有些人半夜打开某些电影网站的时候会出现404这个就是不正常的状态码,最后看到右边

User-Agent 就是用户信息,一般我们做爬虫,网站也会有相应的反爬,为啥要这样做,服务器也有上限,举个例子,一个房间睡两个人刚好,突然有100个人跑进这个房间是不是就挤不下了,同理别人做网页是给人服务的,肯定不希望被你爬,你一台电脑可以开多个线程,那他指定要崩,所以通常都要检测你的UA看看是不是浏览器发起的访问

其它的稍微了解一下就行Content-Type服务器返回客户端的数据类型 Connection请求完毕后保持连接还是断开连接

其实爬取数据就分四个步骤,首先要有一个url(网址)让我们去爬,第二向这个网址发送一个请求(拿到想要的数据),第三接收这个数据,最后储存数据以搜狗主页为例

requests.get可以填三个参数,第一个是网址第二个是规则,第三个是请求头

规则很好理解啊,就是你每次网页点一下那个网址都会产生一些变化,我们需要进行一些拼接,请求头就是上面说的UA

我们以百度为例,随便搜一个东西观察网址

我们可以发现网址很长,其中abc是搜索的内容wd应该就是关键字,前面那些删一点观察是不是同一个网页

我们开始写

import requests
if __name__ == '__main__':
    # 让用户自己查询
    word = input("请输入查询")
    # 爬的网址
    url = 'https://www.baidu.com/baidu?'
    # requests.get的第二格参数:规则
    param = {
        'wd': word
    }
    #UA  判断是爬虫还是浏览器发送的请求
    headers = {
        'User-Agent':'???'
    }
    # requests.get请求
    responce = requests.get(url=url,params=param,headers=headers)
    # 3.获取数据    text返回的字符串的数据
    page_text = responce.text
    # 对爬取的内容进行命名
    FM = word + '.html'
    # 储存文件
    with open(FM,'w',encoding='utf-8') as f:
        f.write(page_text)
    print('成功啦')

UA复制自己的就行了,有时间再更新 ??


3条回帖
Walker  管理员   L12  评论于
(0)  回复(1) 1#
你这种系列教程可以把目录汇总到一个帖子里去,然后我给你加精,类似这样的https://bbs.leyuxyz.com/t/197915
P2P 楼主 :好的
发表在2020-11-15 回复
  
:)
关山啊  L0  评论于
(0)  回复(0) 2#
哇等下一篇
还没注册帐号?快来注册社区帐号,和我们一起嗨起来!
关于本社区

集各类兴趣爱好于一身的轻量化交流社区,在此您可以和他人一起分享交流您觉得有价值的内容,社区鼓励大家发表原创内容,为社区添砖加瓦!

发帖奖励 → 社区版规 → 招聘版主 →
推荐版块
扫描二维码下载社区APP
回到顶部