爬虫常用笔记总结-创新互联

方法

创新互联公司-专业网站定制、快速模板网站建设、高性价比长治网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式长治网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖长治地区。费用合理售后完善,十多年实体公司更值得信赖。
import requests
from bs4 import BeautifulSoup
from fake_useragent import FakeUserAgent

hd = {'User-Agent': FakeUserAgent().random}
r = requests.get('https://www.meishij.net/fenlei/zaocan/', headers=hd)
# r.status_code   # 查看状态
# r.encoding  # 编码 ISO-8859-1
r.encoding = 'UTF-8'  # 转换编码格式
soup = BeautifulSoup(r.text, 'html.parser')  # r.content

"""

"""
# 指定标签
alst = soup.find_all('table')
for i in alst:
    print(i.a.get('title'), i.span.string, '\t', i.p.string)

# 指定样式 class_
info_all = soup.find_all('div', class_='list_s2_item')
for i in info_all:
    info1 = i.find('a', class_='list_s2_item_info').strong.string
    info2 = i.find('a', class_='list_s2_item_info').span.string

# 指定元素
address = soup.select(
    'body >div.comm-content-box.clearfloat >div >div.comm-content-left.clearfloat >div >div.xq_toggle >div:nth-child(2) >table:nth-child(1) >tbody >tr:nth-child(2) >td:nth-child(2)')
print(address[0].string)

"""
获取内容语法
data.get_text()   # 获取data中文本内容
p.string  #

张三

a.get('title') # title='张三' """

借用网站功能查IP地址:

import requests
from bs4 import BeautifulSoup
from fake_useragent import FakeUserAgent


def get_address_by_ip(ip):
    hd = {'User-Agent': FakeUserAgent().random}
    url = 'https://ip.hao86.com/' + ip + '/'
    r = requests.get(url, headers=hd)
    r.encoding = 'UTF-8'
    soup = BeautifulSoup(r.text, 'html.parser')
    address = soup.select(
        'body >div.comm-content-box.clearfloat >div >div.comm-content-left.clearfloat >div >div.xq_toggle >div:nth-child(2) >table:nth-child(1) >tbody >tr:nth-child(2) >td:nth-child(2)')
    return address[0].string


IP = input('输入你要查询的IP:')  # 221.218.142.209
address = get_address_by_ip(IP)
print(address)

保存图片:

import requests
import os

'''
爬取指定url图片
可能出现的问题:图片地址不合法,缺少http
http://upload.techweb.com.cn/s/310/2018/0410/1523330175838.jpg
'''
url4 = 'http://img.netbian.com/file/2022/1127/small1208244iXg61669522104.jpg'

theUrl = url4  # 指定要爬取的url

# 爬取到的图片存在电脑那个磁盘位置
root = "d://pythonZoneHH//pic2HH//"

path = root + theUrl.split("/")[-1]  # 这句话可以保证原来图片叫什么名字,爬下来时候还叫什么名字
print(path)
try:
    if not os.path.exists(root):  # 判断磁盘制定文件夹是否存在,
        os.makedirs(root)  # 如果不存在就创建文件夹

    r = requests.get(theUrl)
    print("文件大小", len(r.content) / 1024, "kb")
    with open(path, "wb") as f:
        print("正在保存文件...")
        f.write(r.content)  # 向文件中写入二进制内容
        print("文件保存成功")
except Exception as e:
    print("爬取失败", e)

页面中不存在的数据爬取:

右键检查,从网络的请求中的找到对应数据,在标头中复制出URL

import json

from bs4 import BeautifulSoup
import requests
from fake_useragent import FakeUserAgent

re_url = 'https://www.thecfa.cn/index.html'
url = 'https://www.thecfa.cn/nvzgjd/dataApi/text/v1?contId=30235&next=-1'
hd = {'User-Agent': FakeUserAgent().random, 'Referer': re_url}  # Referer:re_url 设置引用页
r = requests.get(url, headers=hd)
r.encoding = 'UTF-8'
# r.text 获取到的是一个字符串  {"text":" 国际足联排名..."}  类型:dic = json.loads(r.text)  # 字符串转json数据  用 json.loads(内容)
html_doc = dic.get('text')  # 通过 .get('键')  取出值即可
soup = BeautifulSoup(html_doc, 'html.parser')
info_all = soup.find_all('li')
for i in info_all:
    # print(i, '....')
    date = i.find('div', class_='date').get_text()
    img_url = i.find_all('div', class_='country')[0].p.img.get('src')
    score = i.find('div', class_='score').get_text()
    img_url2 = i.find_all('div', class_='country')[1].p.img.get('src')
    print(date, '\t', img_url, '\n', score, '\t', img_url2)

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


分享文章:爬虫常用笔记总结-创新互联
转载注明:http://scyanting.com/article/coisec.html