开发者社区> 问答> 正文

python爬取网站板块的一个小问题,急急急 == (似乎是个很简单的项目....)

游客uub3gf5qnjcyg 2019-06-03 17:09:57 200

想爬取木虫首页那些板块的名字(似乎是个很简单的项目....)
写了如下代码
为何既没有我create的文件,又没有爬取结果
请大侠们给出修改意见==
谢谢!!

import requests
from requests.exceptions import RequestException
import re
import json

url = 'http://muchong.com/bbs/post.php?action=newthread'
def getpage(url):

try:
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'}
    response = requests.get(url,headers=headers)
    if response.status_code == 200:
        return response.text
    return None
except RequestException:
    return None
        

def parse(html):

html = getpage(url)    
pattern = re.compile('<td width="25%">.*?xmc_blue xmc_ft14.*?target="_blank">(.*?)</a></h4>',re.S)
items = re.findall(pattern,html)
write_to_file(items)
print(items)
   

def write_to_file(content):

with open('xiaomuchong.txt', 'a', encoding='utf-8') as f:#a代表追加
    f.write(json.dumps(content, ensure_ascii=False) + '\n')#.想输出真正的中文需要指定ensure_ascii=False

if name == '__main__':

main()
Web App开发 JSON iOS开发 数据格式 Python Windows
分享到
取消 提交回答
全部回答(1)
  • 湖畔之清风明月
    2019-07-25 00:10:46

    没看明白你执行的 main() 函数定义在哪… 对 Python 脚本来说,进行 if __name__ == '__main__' 是指执行本脚本时默认执行的函数。你这里默认执行的 main() 函数没有定义呀,剩下的函数都只是定义,也没有执行。

    0 0

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题