随笔分类 - Python语言 / Python web crawler
摘要:1.原因 因为需要梳理公网域名和DNS解析对应关系,因此制作此小脚本。 2.前期准备 在使用脚本前,确定已安装了requests模块和dnspython模块(在终端界面哦) pip install requests dnspython 3.完整的请求代码 import os from urllib.
阅读全文
摘要:asyncio模块 协程对象(coroutine object),缩写coro,俗称coro对象。 概述 asyncio模块 是python3.4版本引入的标准库,直接内置了对异步IO的操作 编程模式 是一个消息循环,我们从asyncio模块中直接获取一个EventLoop的引用,然后把需要执行的协
阅读全文
摘要:1.安装:selenium 在本地终端中安装 pip install selenium 2.下载浏览器API包:(chrome浏览器) 它与其他库不同的地方是他要启动你电脑上的浏览器, 这就需要一个驱动程序来辅助. 这里推荐用chrome浏览器 chrome驱动地址: 114.0.5735.90之前
阅读全文
摘要:用requests模拟发送post请求 思考:哪些地方我们会用到POST请求? 登录注册( POST 比 GET 更安全) 需要传输大文本内容的时候( POST 请求对数据长度没有要求) 所以同样的,我们的爬虫也需要在这两个地方回去模拟浏览器发送post请求 1.常用的post请求参数写法 impo
阅读全文
摘要:方法1:手动添加cooike 先用浏览器打开首页:'https://xq.com/',此时浏览器会被分配'Cookie' 在headers里加入 'User-Agent'、'Referer'、'Cookie'去请求URL 因为这里是异步加载,因此需要从“Fetch/XHR”的请求中查到“标头”里的请
阅读全文
摘要:写个函数,传入(书名:book,标题:tittle,内容:content),要求在book文件夹下(不存在则创建),创建每个tittle.txt文件,写入content内容 import os def save_to_file(folder_book, title, content): # 如果文件
阅读全文
摘要:requests模块 发送get请求,一般拥有2种方式 一种是直接拼凑URL,直接发送最终的URL,不需要传参逻辑 另一种是使用params传参逻辑,用最正统的get请求方式 1、直接发送get请求,不使用params传入参数 response = requests.get(url, headers
阅读全文
摘要:先搞单页网站: import requests from lxml import etree import re url = 'https://*********.com/top250?start=1' headers = { 'User-Agent': 'Mozilla/5.0 (Windows
阅读全文
摘要:使用xpath方式,打印结果,经常出现大量换行、空格等情况 示例如下: from lxml import etree # data = etree.parse('./素材/示例网站.html') parser = etree.HTMLParser(encoding="utf-8") # 出现读取错误
阅读全文
摘要:下载图片(单线程) import os.path import requests # 异步加载数据的接口 url = '************************************.com' headers = { 'User-Agent': '*********************
阅读全文
摘要:异步加载的特点 点击“查看更多”等按钮,浏览器“刷新”按钮无反馈效果。 查看浏览器点击F12的“DevTools”开发者工具,点选“网络”——“Fetch/XHR”——每点击一次“加载更多”就会出现一次网络请求 点击刷新出来的“请求内容”——点击“响应”,可以看到响应的是“字典” 点击标头,查看请求
阅读全文
摘要:网页同步加载的特点: 所见即所得:浏览器渲染后的展示字段,和“响应”页面中的“数据内容”、包括右键“查看源码”中完全一致。 同步请求的一般格式 import requests from lxml import etree # 同步加载的网站 url = '' headers = { 'User-Ag
阅读全文
摘要:用with读取文件 # './素材/匹配天气.html'是文件路径,'r'表示读取模式,encoding='UTF-8'指定编码为UTF-8 with open('../素材/匹配天气.html', 'r', encoding='utf-8') as file: # 读取文件内容并将其保存在变量da
阅读全文