爬虫入门学习 贴吧小案例

 1 import urllib.request
 2 import urllib.parse
 3 import random
 4
 5 #目标地址
 6 url="http://tieba.baidu.com/f"
 7
 8 #伪造客户端 http请求头
 9 ua_list = [
10     "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",
11     "User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",
12     "User-Agent: Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; en) Presto/2.8.131 Version/11.11",
13     "User-Agent: Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11",
14     "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11",
15     "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36"
16 ]
17 #随机选择一个作为请求头
18 user_agent=random.choice(ua_list)
19 def doWrite(html,f_name):
20     """
21     :param html: 请求得到响应后收到的数据
22     :param f_name: 用于保存写操作的文件名
23     :return:   E:\Demopy\swt
24     """
25     with open(f_name,"w",encoding=‘utf8‘)as f:
26         f.write(html)
27     print(">"*30)
28
29 def loadPage(f_url,f_name):
30     #对目标地址进行请求
31     request=urllib.request.Request(f_url)
32     #设置http请求头
33     request.add_header("User-Agent",user_agent)
34     #获取响应数据
35     response=urllib.request.urlopen(request)
36     html=response.read().decode("utf-8")
37     #下载并保存
38     print("准备写入数据....")
39     doWrite(html,f_name)
40
41 def doCode(url,kwd):
42     ‘‘‘
43     对搜索关键字进行编码
44     :return:
45     ‘‘‘
46     kw={"kw":kwd}
47     kw=urllib.parse.urlencode(kw)
48     #关键字拼接
49     full_url=url+"?"+kw
50     return full_url
51
52
53 def doUrl(url,star,end):
54     ‘‘‘
55     拼接url地址
56     ‘‘‘
57     for pages in range(star,end+1):
58         page=(pages-1)*50
59
60         f_url=url+"&pn="+str(page)
61         f_name="第"+str(pages)+"页"+".html"
62         print("即将加载第{0}页数据".format(pages))
63         loadPage(f_url,f_name)
64     print("下载完成,谢谢使用!")
65
66 if __name__ == ‘__main__‘:
67     tb_name=input("请输入要访问的贴吧名:\n")
68     starPage=int(input("请输入起始页"))
69     endPage=int(input("请输入结束页"))
70
71     full_url=doCode(url,tb_name)
72     doUrl(full_url,starPage,endPage)

原文地址:https://www.cnblogs.com/wen-kang/p/10422179.html

时间: 2024-10-08 17:50:13

爬虫入门学习 贴吧小案例的相关文章

javascript入门视频第一天 小案例制作 零基础开始学习javascript

JavaScript 是我们网页设计师必备的技能之一.我们主要用javascript来写的是网页特效.我们从零基础开始学习javascript入门. 但是,好的同学刚开始不知道怎么学习,接触js,因此,小强老师给大家写了这篇入门的javascript文章.从零基础开始学习js,使大家入门更简单,希望大家喜欢.JavaScript是一种脚本语言. 也是我们web网络中最为流行一种脚本语言.脚本语言:     1.不是独立存在的.需要依附.js就是依附在浏览器中.     2.脚本语言也是语言,也有

Python学习第四天学习写的小案例(主要是针对 分支/循环的学习)

Python学习第四天学习写的小案例 (2019/07/17) 第一题:使用while循环输出1 2 3 4 5 6 8 9 10 程序代码: s = 0 while s<10: if s==6: s += 1 # 当数字为7的时候输出一个空格出来 print(end=' ') continue s += 1 print(s,end=' ') 运行结果: 1 2 3 4 5 6 8 9 10 第二题: 求1-100的所有数的和 程序代码: count = 0 for i in range(101

js入门学习~ 运动应用小例

要实现的效果如下: 鼠标移入各个小方块,实现对应的效果(变宽,变高,移入透明,移出恢复)~~ (且各运动相互之前不干扰)  主要是练习多个物体的运动框架~~ ----------------------------------------------------js代码如下 ----------------------------------------------------- //执行函数window.onload = function(){ //声明控制变量 var aDiv = docu

微信小程序开发入门学习(1):石头剪刀布小游戏

从今天起开始捣鼓小程序了2018-12-17   10:02:15 跟着教程做了第一个入门实例有兴趣的朋友可以看看: 猜拳游戏布局 程序达到的效果 猜拳游戏的布局是纵向显示了三个组件:文本组件(text).图像组件(image)和按钮组件(button).在创建小程序工程时,默认建立了两个页面:index 和 logs.我们不需要管 logs,在这个例子中只修改和 index 页面相关的文件,index 是小程序第一个显示的页面,其中 index.wxml 文件是 index 页面的布局文件.

js学习总结----经典小案例之选项卡

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> body,div,ul,li{ margin:0; padding: 0; font-family: Arial; font-size:12px; } ul li{ list-style:none

js学习总结----经典小案例之表格排序

具体代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> *{margin:0;padding:0;font-family:"微软雅黑";font-size:14px

学习react-简单小案例(4)--点击事件

<html> <head> <title></title> <meta charset="UTF-8"/> <script src="js/react.min.js" type="text/javascript" charset="utf-8"></script> <script src="js/react-dom.min.js

学习react-简单小案例(3)

<html> <head> <title></title> <meta charset="UTF-8"/> <script src="js/react.min.js" type="text/javascript" charset="utf-8"></script> <script src="js/react-dom.min.js

学习react-简单小案例(2)

<html> <head> <title></title> <meta charset="UTF-8"/> <script src="js/react.min.js" type="text/javascript" charset="utf-8"></script> <script src="js/react-dom.min.js