Python爬虫GET请求基本模型

GET请求URL附带查询参数

分析百度贴吧url特点:

分析url https://tieba.baidu.com/f是贴吧总的url,?后是get请求,kw=xxx,&后是页码信息

 

爬取百度贴吧对应内容信息:

#python3
import urllib
import urllib.request
import urllib.response
import urllib.parse

def tieBarSpider(url,beginPage,endPage):
    """
        作用:负责处理url,分配每个url去发送请求
        url:需要处理的url
        beginPage:爬虫执行的起始页面
        endpage:爬虫执行的截止页面
    :return:
    """
    for page in range(beginPage,endPage):
        pn = (page-1)*50

        fileName = "第" + str(page) + "页"
        fullUrl = url + "&pn=" + str(pn)
        #print(fullUrl)
        html = loadHtmls(fullUrl)
        #将爬到的html页面保存到本地
        writeFiles(html,fileName)
        print("aleady:%s"%fileName)

def loadHtmls(fullUrl):
    """
        作用:根据url发送请求,获取服务器响应
        fullUrl:完整的每页的url
    :return:
    """
    #添加User-Agent头,伪装成浏览器访问
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'}

    request = urllib.request.Request(fullUrl,headers=headers)

    reponse = urllib.request.urlopen(request)

    return reponse.read().decode()

#选择将爬取到的页面保存到本地
def writeFiles(html,filename):
    """
        功能:将爬取到的页面保存到本地
        html:页面html源码
        filename:保存到本地的名字
    :return:
    """
    #下面语句相当于
    # f = open(filename,'w')
    # f.write(html)
    # f.close()
    with open(filename,'w') as f:
        f.write(html)

    print('-'*20)

if __name__ == '__main__':

    #初始页url构建
    url = "https://tieba.baidu.com/f?"
    keyword = input("请输入要爬取的贴吧内容:")
    beginPage = int(input("BeginPage:"))
    endPage = int(input("EndPage:"))
    #转码为url编码,urlencode()接受的是一个字典
    kw = urllib.parse.urlencode({"kw":keyword})
    fullUrl = url + kw
    tieBarSpider(fullUrl,beginPage,endPage+1)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 我可以给你写一个简单的Python爬虫程序来爬取Sketchfab模型,它会使用BeautifulSoup库来解析HTML,并使用Requests库来发送HTTP请求。下面是一个示例程序:``` import requests from bs4 import BeautifulSoup #获取页源码 url = 'https://sketchfab.com/models' page = requests.get(url) #创建BeautifulSoup对象 soup = BeautifulSoup(page.text, 'html.parser') #找到所有模型链接 links = soup.find_all('a', class_='model-card-image-link') #遍历所有模型链接 for link in links: #获取模型ID model_id = link.get('data-id') #组装模型详情页URL model_url = 'https://sketchfab.com/models/' + model_id #发送HTTP请求 model_page = requests.get(model_url) #解析模型详情页 model_soup = BeautifulSoup(model_page.text, 'html.parser') #获取模型标题 model_title = model_soup.find('h1', class_='model-title').text #打印模型标题 print(model_title) ``` ### 回答2: 当然可以帮你写一个爬取sktechfab模型Python爬虫。首先,我们需要导入所需的库,其中最重要的是requests和BeautifulSoup库。然后,我们可以使用requests库发送HTTP请求并获取页的HTML内容。接着,我们可以使用BeautifulSoup库将HTML内容解析为可操作的数据结构。 下面是一个简单的示例代码: ```python import requests from bs4 import BeautifulSoup def crawl_sktechfab_model(url): # 发送HTTP请求并获取页内容 response = requests.get(url) # 将页内容解析成可操作的数据结构 soup = BeautifulSoup(response.text, "html.parser") # 在解析后的数据结构中找到需要的模型数据 model_data = soup.find("div", class_="model-data") model_name = model_data.find("h2").text.strip() model_description = model_data.find("p").text.strip() model_image_url = model_data.find("img")["src"] # 打印模型数据 print("模型名称:", model_name) print("模型描述:", model_description) print("模型图片url:", model_image_url) # 测试 url = "https://www.sktechfab.com/models/12345" crawl_sktechfab_model(url) ``` 在这个示例中,我们定义了一个`crawl_sktechfab_model`函数,该函数接受一个URL作为参数。函数发送HTTP请求并获取页面的HTML内容。然后,使用BeautifulSoup库解析HTML内容,并使用find方法找到需要的模型数据。最后,我们打印出了模型的名称、描述和图片URL。 请注意,这只是一个简单的示例,具体的爬取方式可能需要根据页的具体结构进行调整。另外,页的具体URL也需要替换成你想要爬取的模型的URL。 希望这个简单的示例能够帮到你,如果有任何问题,请随时向我提问。 ### 回答3: 好的,以下是一个简单的Python爬虫代码,用于爬取sketchfab模型。 ``` import requests import json def crawl_sketchfab_models(): url = "https://api.sketchfab.com/v3/models" params = { "sortBy": "relevance", "type": "models", "downloadable": "true" } try: response = requests.get(url, params=params) if response.status_code == 200: data = response.json() models = data['results'] for model in models: model_url = model['viewerUrl'] print("Model URL:", model_url) else: print("Request failed with status code:", response.status_code) except requests.exceptions.RequestException as e: print("Request failed:", str(e)) crawl_sketchfab_models() ``` 这个爬虫使用requests库向sketchfab的API发出GET请求,参数中指定了按相关度排序的可下载模型。然后,从响应中解析出模型的URL,并打印出来。 请注意,这只是一个简单示例,你可能需要根据你的需求进行更多的自定义和错误处理。 希望这个代码能够帮助你开始爬取sketchfab模型

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值