鱼C论坛

 找回密码
 立即注册
查看: 1189|回复: 0

[技术交流] 第 53 讲 论一只爬虫的自我修养

[复制链接]
发表于 2018-5-2 06:34:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
测试题:
0.
url是统一资源定位符,uniform resource locator
URI标志互联网资源,URL标志互联网资源的地址,URL是URI的子类.
1.
自动获取网页信息的程序

2.
设计的算法真正爬去和用户搜索相关度高的
不要重复爬取URL,否则会无线递归.
3.
(静态)
1.header反爬

2.用户行为反爬:
  1. 用代理ip
  2. 降低请求频率

(动态)
3.用户页面的加载方式反爬
动态页面反爬

(进一步)
  1. cookie反爬
  2. 验证码反爬
  3. Noscript

网站根目录建立robots.txt,里面表明内容,说明这些地方不想被爬取.对非法爬虫无效.

4.
类类型
HTTTPResponse的实例对象

5.
urllib.error.HTTPError: HTTP Error 502: Bad Gateway

6.
utf-8 审查元素

7.
unicode

动动手:
0.
urllib.error.HTTPError: HTTP Error 502: Bad Gateway

1.
import urllib.request as r

url = 'http://www.' + input('请输入URL:')

def findcharset(url):
    response = r.urlopen(url)
    html = (response.read()).decode()
    start = html.find('<meta charset="')
    end = start
    while html[end] != '>':
        end +=1
    return html[start+15:end-1]

print('该网页使用的编码是:',findcharset(url))
            
2.
import urllib.request as r

def get_html(url):
    response = r.urlopen(url)
    html = response.read()
##    html = html.decode()
    return html

##print(get_html('http://www.baidu.com'))

def save2file(name,url,file_path = '/Users/yufan/Documents/python编程/52/52dds2/'):
    file_path += name
    with open(file_path,'wb') as f:
        f.write(get_html(url))

    
with open('/Users/yufan/Documents/python编程/52/52dds2/urls.txt') as f:
    txtsort = 1
    for each in f:
        name = 'url_%d.txt' % txtsort
        save2file(name,each)
        txtsort += 1

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 02:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表