python学习1

Posted 见怪见外

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习1相关的知识,希望对你有一定的参考价值。

今天开始了新的学习,python,了解了request请求的四个步骤分别是

-指定url
-发起请求
-获取响应数据
-持久化存储

同时又了解了UA检测以及UA伪装的意思:
#UA检测:门户网站的服务器会检测对应请求的载体身份表示,检测其是网络爬虫还是一个浏览器
#UA伪装:网络爬虫可以将自己的头部修改成和浏览器一样的,以使门户网站将自己的请求误认为浏览器的请求
下面是两个案例,一个是爬取搜狗搜索页面的内容信息的,另一个是制作一个简单的网页采集器的小测试。
1.爬取搜狗首页
#requst模块
#需求:爬取搜狗首页页面是数据
import requests
#下面这句话相当于主函数
if __name__ == \'__main__\':
    #step.1 指定url
    url = \'https://www.sogou.com/\'
    #step.2 发起请求,get方法会返回一个响应对象
    response = requests.get(url=url)
    #step.3 获取响应数据.text返回的是字符串形式的响应数据
    page_text = response.text
    print(page_text)
    #step.4持久化存储,将爬取到的数据存储到sogou.html中,设置编码utf8,起名fp,
    with open(\'./sogou.html\',\'w\',encoding=\'utf-8\') as fp:
        #在fp中写入page_text
        fp.write(page_text)
    print(\'爬取结束!!!!!\')
搜狗首页

2.制作简单网页采集器

#UA检测:门户网站的服务器会检测对应请求的载体身份表示,检测其是网络爬虫还是一个浏览器
#UA伪装:网络爬虫可以将自己的头部修改成和浏览器一样的,以使门户网站将自己的请求误认为浏览器的请求
import requests
if __name__ == \'__main__\':
    #UA伪装,将对应的UserAgent封装到一个字典里
    headers={
        \'User-Agent\':\'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36 Edg/91.0.864.54\'
    }
    #传递参数时,此处的?保留不保留都可以
    #url = \'https://www.baidu.com/s\'
    url = \'https://www.sogou.com/web\'

    #处理url携带的参数:封装到字典中
    kw = input(\'enter a word:\')
    param = {
        \'query\':kw
    }
    #对指定的url发起的请求对应的url是携带参数的,并且请求过程中处理了参数
    response = requests.get(url=url,params=param,headers=headers)

    page_text = response.text
    fileName = kw+\'.html\'
    with open(fileName,\'w\',encoding=\'utf-8\') as fp:
        fp.write(page_text)
    print(fileName,\'保存成功!!!\')
简单网页采集器

在这两个小demo中,我发现了不同的搜索下,同一个程序可能爬取的东西就不同,因为各个不同的搜索软件对待爬虫的机制不同。

各个搜索软件中使用的搜索参数也有所差异,如百度使用wd,而搜狗使用query

 
 

以上是关于python学习1的主要内容,如果未能解决你的问题,请参考以下文章

Python学习总结

30 段 Python 实用代码

学习 PyQt5。在我的代码片段中找不到错误 [关闭]

python 学习python语法的片段

即学即用的 30 段 Python 实用代码

Python学习 :函数