ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python爬取百度搜索结果页面并输出标题和链接

2022-05-13 14:02:33  阅读:174  来源: 互联网

标签:keyword Python number 爬取 url build input page 页面


# 爬取百度10页的标题

import urllib.request
import re
import urllib.parse
from bs4 import BeautifulSoup

def build_onepage_crawl_function(keyword, number_of_page):
    #构建请求头
    user_agent_header = ("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0)")
    opener_build = urllib.request.build_opener()
    opener_build.addheaders = [user_agent_header]
    #对搜索关键词进行编码
    encoded_keyword = urllib.parse.quote(keyword) 
    # 通过for循环爬去每一页
    for i in range(int(number_of_page)):
        url = "https://www.baidu.com"
        number_of_page = i * 10 # 构造 &pn=
        print("百度搜索页面链接:",number_of_page)
        url = url + "/s?wd=" + encoded_keyword + "&pn=" + str(number_of_page) # 完整的url包括关键词说页数,这里keyword本身就是str
        print(url)
        #构造get请求中的url
        original_html = opener_build.open(url, timeout = 2).read().decode("utf-8","ignore")
        soup = BeautifulSoup(original_html ,'html.parser')
        for title in soup.select('.tts-title a'):
            print(title.text)
    
#输入关键词以及需要爬取的页数
keyword_input = input("请输入关键词:")
number_of_page_input = input("请输入页数:")
build_onepage_crawl_function(keyword_input, number_of_page_input)

 

标签:keyword,Python,number,爬取,url,build,input,page,页面
来源: https://www.cnblogs.com/wzf-Learning/p/16266450.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有