py3爬虫示例

  接上一篇博客,由于我想得到这个网站的类型,除了要翻译之外还有一个前提,获得需要翻译的文本,文本的来源就需要爬虫来获得,这里我记录了一种简单的爬虫写法,这个爬虫可以成功运行,但是有个前提,那就是必须可以FQ。

  废话不多说上代码:(注:在代理链接处填上你的链接)

# -*- coding:utf-8 -*-
import requests
from bs4 import BeautifulSoup
from requests.adapters import HTTPAdapter


def get_url_title(query_url):
    dict_result = {}
    # 代理
    proxies = {
        "https": "链接"(http://+本机ip:端口号 例如:http://127.0.0.1:1080)
    }

    origin_title = None
    trans_title = None
    title_language = None
    trans_title_en = ""
    soup = None
    return_num = -1

    try:
        # 设置请求头
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36'
        }

        # 超时重试
        s = requests.Session()
        s.mount('http://', HTTPAdapter(max_retries=2))
        s.mount('https://', HTTPAdapter(max_retries=2))

        # print (query_url)
        response = s.get(query_url, verify=False, proxies=proxies, timeout=(120, 120), headers=headers)
        # print(response.headers)
        # print(response.status_code)
        # 访问情况
        return_num = response.status_code
        # 转换编码
        response.encoding = response.apparent_encoding

        status_code = response.status_code
        soup = BeautifulSoup(response.text, "html.parser")
        print(soup)
        print(soup.title.string)
        print(soup.find_all("div"))
    except requests.exceptions.RequestException as e:
        # print(e)
        pass
        dict_result["url"] = None


if __name__ == '__main__':
    get_url_title("https://www.baidu.com")

解释:这里我用百度首页做的测试,当开启FQ之后,我们可以通过soup得到这个网页的一切,从中得到我们想要的信息。

posted @ 2020-10-19 17:16  IT小平  阅读(214)  评论(0)    收藏  举报