查看“Big Red”的源代码
←
Big Red
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==第2章 建立网络爬虫== ===第一个网络爬虫=== 数值类型:整型,浮点型,复数型。 字符串类型 <nowiki>import requests r = requests.get("http://www.baidu.com")#打开一个网页 print(r.status_code) #返回状态 r.encoding = 'utf-8' print(r.text) #观察返回的内容</nowiki> *常量:其值不发生改变的数据对象 *变量:使用id()函数可以查看变量的内存地址 基本命令 例如: <nowiki>print("Hello World!")</nowiki> 1.字符串 例如: <nowiki>string1='Python Web Scrappy' string2="by Santos" string3=string1+""+string2 print(string3)</nowiki> 索引从0开始: <nowiki>print("list1[0]:",list1[0]) print("list2[1:3]:",list2[1:3]) list1[0]: python list2[1:3]:[2,3]</nowiki> 修改列表中的值: <nowiki>list1[1]="new" print(list1) ['python','new','Scrappy']</nowiki> *字符串是最常见的数据类型,一般用来存储类似“句子”的数据,并放在单引号或双引号中。 2.数字 例如: <nowiki>int1=7 float1=7.5 trans_int=int(float1) print(trans_int)</nowiki> *数字用来存储数值,包含两种常用的数字类型:整数和浮点数,浮点数由整数和小数部分组成。 3.列表 例如: <nowiki>list1=['python','web','scrappy'] list2=[1,2,3,4,5] list3=["a",2,"o",4]</nowiki> *如果需要把字符串和数字襄括起来,就可以使用列表。 4.字典 例如: <nowiki>namebook={"Name":"Alex","Age":7,"Class":"First"} print(namebook["Name"]) print(namebook) Alex {'Name':'Alex','Age':7,'Class':'First'}</nowiki> 遍历访问字典中的每一个值: <nowiki>for key,value in namebook.items(): print(key,value) Name Alex Age 7 Class First</nowiki> *字典是一种可变容器模型,每个存储的值都对应着一个键值key,key必须唯一,但是值不用。值也可以取任何数据类型。 ===函数=== 定义一个函数: 例如: <nowiki>def calulus(x): y=x+1 return y result=calulus(2) print(result)</nowiki> 参数必须要正确地写入函数中,函数的参数也可以为多个 例如: <nowiki>def fruit_function(fruit1,fruit2): fruits=fruit1+""+fruit2 return fruits result=fruit_function("apple","banana") print(result)</nowiki> *在代码很少的时候,按照逻辑写完就能很好地运行。 ===面向对象编程=== 例如: <nowiki>book="Python" if book=="Python": print("You are studying python.") else: print("Wrong.")</nowiki> 如果需要判断的有多种条件,就需要用到elif 例如: <nowiki>book="java" if book=="Python": print("You are studying python.") elif:book=="java": print("You are studying java.") else: print("Wrong.")</nowiki> *循环语句能让我们执行一个代码片段多次,循环分为for循环和while循环。 for循环能在一个给定的顺序下重复执行 例如: <nowiki>citylist=["Beijing","Shanghai","Guangzhou"] for eachcity in citylist: print(eachcity)</nowiki> while循环能不断重复执行,只要能满足一定条件 例如: <nowiki>count=0 while count<3: count+=1 print (count)</nowiki> *条件语句可以使得当满足条件的时候才执行某部分代码。 ===条件语句和循环语句=== ==第3章 静态网页抓取== ===获取相应内容=== 例:获取QQ空间主页内容 <nowiki>import requests r=requests.get('https://user.qzone.qq.com/328911422/infocenter') print("文本编码:",r.encoding) print("响应状态码:",r.status_code) print("字符串方式的相应体:",r.text)</nowiki> ===定制Requests=== ====传递URL参数==== 例:传递key1=value1和key2=value2到https://user.qzone.qq.com/1150117452/main <nowiki>import requests key_dict={'key1':'walue1','key2':'value2'} r=requests.get('https://user.qzone.qq.com/1150117452/main') print("URL已经正确编码:",r.url) print("字符串方式的相应体:\n",r.text)</nowiki> ====定制请求头==== 例如: <nowiki>import requests headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36', 'Host':'m.douban.com' } r = requests.get('https://movie.douban.com/subject/1292052/',headers=headers) print("响应状态码:",r.status_code)</nowiki> ====定制请求头==== <nowiki>import requests key_dict={'key1':'walue1','key2':'value2'} r=requests.post('https://user.qzone.qq.com/1150117452/main') print(r.text)</nowiki> ===Requests爬虫实战:TOP250电影数据=== ====项目实践==== <nowiki>import requests def get_movies(): headers={ 'user-agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64)AppleWobKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82Safari/537.36', 'Host': 'movie.douban.com' } for i in range(0,10): link = 'https://movie.douban.com/top250?start=' + str(1 * 25) r = requests.get(link,headers, timeout=10) print(str(i+1),"页响应状态码:",r.status_code) print(r.text) get_movies()</nowiki> ==第4章 动态网页抓取==
返回至
Big Red
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息